| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've been disliking how the command seek actions were written for some
time, with their inversion of control and ugly workarounds.
The last straw to fix it was sync --content, which didn't fit the
Annex [CommandStart] interface well at all. I have not yet made it take
advantage of the changed interface though.
The crucial change, and probably why I didn't do it this way from the
beginning, is to make each CommandStart action be run with exceptions
caught, and if it fails, increment a failure counter in annex state.
So I finally remove the very first code I wrote for git-annex, which
was before I had exception handling in the Annex monad, and so ran outside
that monad, passing state explicitly as it ran each CommandStart action.
This was a real slog from 1 to 5 am.
Test suite passes.
Memory usage is lower than before, sometimes by a couple of megabytes, and
remains constant, even when running in a large repo, and even when
repeatedly failing and incrementing the error counter. So no accidental
laziness space leaks.
Wall clock speed is identical, even in large repos.
This commit was sponsored by an anonymous bitcoiner.
|
|
|
|
|
| |
This was the least-bad alternative to get dedicated key gcrypt repos
working in the assistant.
|
|
|
|
|
|
|
|
|
|
|
| |
This pulls off quite a nice trick: When given a path on rsync.net, it
determines if it is an encrypted git repository that the user has
the key to decrypt, and merges with it. This is works even when
the local repository had no idea that the gcrypt remote exists!
(As previously done with local drives.)
This commit sponsored by Pedro Côrte-Real
|
|
|
|
|
|
| |
* Note that the layout of gcrypt repositories has changed, and
if you created one you must manually upgrade it.
See http://git-annex.branchable.com/upgrades/gcrypt/
|
| |
|
| |
|
|
|
|
|
|
| |
That's needed in files used to build the configure program.
For the other files, I'm keeping my __WINDOWS__ define, as I find that much easier to type.
I may search and replace it to use the mingw32_HOST_OS thing later.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Need to make `git annex help command` show the options for that command.
|
|
|
|
|
| |
Checks the key's size and checksum. This is sorta expensive, but it avoids
needing to add another round-trip to the protocol.
|
| |
|
|
|
|
|
|
| |
relative, containing ~/ etc
Also, fix parsing of directory name parameter out of git-shell command.
|
|
|
|
| |
operating on a specified directory.
|
|
|
|
| |
Avoids partial !!
|
| |
|
|
|
|
|
| |
TODO: Use this when running sendkey, to feed back transfer info from the
client side rsync.
|
| |
|
|
|
|
|
|
| |
It seems best to require that the file just be relative, and not some ../ trick.
git-annex-shell sendkey and recvkey both update transfer information now
|
| |
|
|
|
|
|
|
|
|
|
| |
Not yet tested and places git-annex-shell is run need to be modified to
pass the new field settings.
Note that rsyncServerSend was changed to fork, rather than directly exec
rsync, because it needs to keep the transfer lock held, and clean up the
transfer log when done.
|
| |
|
| |
|
|
|
|
|
|
|
| |
git-annex (but not git-annex-shell) supports the git help.autocorrect
configuration setting, doing fuzzy matching using the restricted
Damerau-Levenshtein edit distance, just as git does. This adds a build
dependency on the haskell edit-distance library.
|
|
* git-annex now behaves as git-annex-shell if symlinked to and run by that
name. The Makefile sets this up, saving some 8 mb of installed size.
* git-union-merge is a demo program, so it is no longer built by default.
|