| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Fails with gpg 2. Instead, use a different environment variable.
The clean fix would instead be to add an annex.gpg-options configuration.
But, that would be rather a lot of work and it's unlikely it would be
useful for much else.
|
|
|
|
|
|
|
| |
Only set --no-tty when GPG_AGENT_INFO is set and batch mode is used.
In the test suite, set GPG_AGENT_INFO to /dev/null to avoid the test suite
relying on /dev/tty.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dotfiles, and files inside dotdirs are not added by "git annex add" unless
the dotfile or directory is explicitly listed. So "git annex add ." will
add all untracked files in the current directory except for those in
dotdirs.
One reason for this is that it will make git-annex more usable with vcsh,
where you don't want "vcsh big annex add" to check in all the dotfiles
that are already versioned in other repositories.
(If you're using vcsh for repos that contain non-dotfiles, this won't help,
and you'll need to .gitignore such things, but this will cover the common
case.)
A more general reason why this seems like a good idea is the same reason ls
ignores dotfiles, just the unix convention that they are cruft that is kept
out of the way most of the time.
All the other git-annex commands still do deal with any dotfiles that do
get into the annex. This seemed right because if I've gone to the trouble
to add a dotfile, I will want "git annex get ." to get it along with
everything else.
|
| |
|
|
|
|
| |
to provide parameters to whichever of wget or curl git-annex uses (depends on which is available, but most of their important options suitable for use here are the same).
|
| |
|
| |
|
|
|
|
| |
Makes it easy to find files with duplicate contents, anyway.. :)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
I was happily able to repurpose some code from Git.Filename to handle this.
I remember writing that code... a whole afternoon at a coffee shop, after
which I felt I'd struggled with Haskell and git, and sorta lost, in needing
to write this nasty peice of code. But was also pleased at the use of a
pair of functions and quickcheck that allowed me to get it 100% right.
So, turns out I not only got it right, but the code wasn't as special-purpose
as I'd feared. Yay!
|
| |
|
|
|
|
| |
is output by git annex find.
|
|
|
|
|
|
| |
This is built for speed; a format string is parsed once, generating a
Format, that can be applied repeatedly to different sets of variables
to generate output.
|
|
|
|
|
| |
This involved adding a test harness to run gpg with a dummy key, and lots
of fun.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is both a partial Prelude that conflicts with the real one, and a
way to guard against the Prelude's partial functions.
|
| |
|
| |
|
|
|
|
|
| |
Left a few Prelude.head's in where it was checked not null and too hard to
remove, etc.
|
|
|
|
| |
Safe versions of init and last
|
| |
|
| |
|
| |
|
|
|
|
|
| |
There are still hundreds of places that use partial functions head, tail,
init, and last.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only fully supported thing is to have the main repository on one disk,
and .git/annex on another. Only commands that move data in/out of the annex
will need to copy it across devices.
There is only partial support for putting arbitrary subdirectories of
.git/annex on different devices. For one thing, but this can require more
copies to be done. For example, when .git/annex/tmp is on one device, and
.git/annex/journal on another, every journal write involves a call to
mv(1). Also, there are a few places that make hard links between various
subdirectories of .git/annex with createLink, that are not handled.
In the common case without cross-device, the new moveFile is actually
faster than renameFile, avoiding an unncessary stat to check that a file
(not a directory) is being moved. Of course if a cross-device move is
needed, it is as slow as mv(1) of the data.
|
|
|
|
| |
Signed-off-by: Joey Hess <joey@kitenet.net>
|
|
|
|
|
|
|
|
|
| |
over ssh.
This is actually tricky, 45bbf210a1210172c7c7b87879ed74f7c8ccbdba added
the escaping because it's needed for rsync that does go over ssh.
So I had to detect whether the remote's rsync url will use ssh or not,
and vary the escaping.
|
| |
|
|
|
|
|
| |
This is more safe than System.Cmd.Utils.safeSystem, since it does not throw
an error on nonzero exit status.
|
| |
|
| |
|
|
|
|
|
| |
Apparently in haskell if you teach a man to fish, he'll write
more pointfree code.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
no code changes
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* git-annex now asks git-annex-shell to verify that it's operating in
the expected repository.
* Note that this git-annex will not interoperate with remotes using
older versions of git-annex-shell.
The reason for this check is to avoid git-annex getting confused about
what remote repository actually contains a value. It's a prerequisite for
supporting git insteadOf aliases.
|
|
|
|
| |
no code changes
|
|
|
|
| |
needs time and space optimisation
|
| |
|