CI to automate build of cargo lockfiles on different Alpine releases for git-annex aports https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/git-annex
Find a file
Joey Hess 2fd294d06f move --from, copy --from: 10 times faster scanning remote on local disk
Rather than go through the location log to see which files are present on
the remote, it simply looks at the disk contents directly.

I benchmarked this speeding up scanning 834 files, from an annex on my
phone's SSD, from 11.39 seconds to 1.31 seconds. (No files actually moved.)

Also benchmarked 8139 files, from an annex on spinning storage,
speeding up from 103.17 to 13.39 seconds.

Note that benchmarking with an encrypted annex on flash actually showed a
minor slowdown with this optimisation -- from 13.93 to 14.50 seconds. Seems
the overhead of doing the crypto needed to get the filenames to directly
check can be higher than the overhead of looking up data in the location
log. (Which says good things about how well the location log and git have
been optimised!) It *may* make sense to make encrypted local remotes not
have hasKeyCheap set; further benchmarking is called for.
2012-02-26 14:59:48 -04:00
Annex configure: Check if ssh connection caching is supported by the installed version of ssh and default annex.sshcaching accordingly. 2012-02-25 19:15:29 -04:00
Backend handle really long urls 2012-02-16 02:05:06 -04:00
Build moved files around 2011-08-20 16:11:42 -04:00
Command move --from, copy --from: 10 times faster scanning remote on local disk 2012-02-26 14:59:48 -04:00
Common lint 2011-11-11 01:52:58 -04:00
debian move --from, copy --from: 10 times faster scanning remote on local disk 2012-02-26 14:59:48 -04:00
doc configure: Check if ssh connection caching is supported by the installed version of ssh and default annex.sshcaching accordingly. 2012-02-25 19:15:29 -04:00
Git fix filename encoding for git cat-file 2012-02-26 14:11:50 -04:00
Logs revert hlint change 2012-02-20 15:37:31 -04:00
Messages find --json 2011-12-23 01:08:19 -04:00
Remote do a cleanup commit after moving data from or to a git remote 2012-02-25 18:02:49 -04:00
Types order commands in usage by name 2012-02-16 16:53:44 -04:00
Upgrade IO exception rework 2012-02-03 16:47:24 -04:00
Utility refactor 2012-02-20 15:22:21 -04:00
.gitattributes decruft 2011-06-22 18:56:08 -04:00
.gitignore update ignores 2012-01-05 23:21:03 -04:00
Annex.hs do a cleanup commit after moving data from or to a git remote 2012-02-25 18:02:49 -04:00
Backend.hs hlint 2012-02-16 00:44:51 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
Checks.hs layout 2012-01-06 21:53:47 -04:00
CmdLine.hs do a cleanup commit after moving data from or to a git remote 2012-02-25 18:02:49 -04:00
Command.hs set oneshot mode on a per-command basis 2012-02-14 12:40:40 -04:00
Common.hs IO exception rework 2012-02-03 16:47:24 -04:00
Config.hs configure: Check if ssh connection caching is supported by the installed version of ssh and default annex.sshcaching accordingly. 2012-02-25 19:15:29 -04:00
configure.hs configure: Check if ssh connection caching is supported by the installed version of ssh and default annex.sshcaching accordingly. 2012-02-25 19:15:29 -04:00
Crypto.hs split out Utility.Gpg with the generic gpg interface, from Crypto 2011-12-20 23:24:06 -04:00
git-annex-shell.hs add git-annex-shell commit 2012-02-25 16:47:28 -04:00
git-annex.cabal tweak wording 2012-02-15 19:43:15 -04:00
git-annex.hs renamed GitRepo to Git 2011-06-30 13:21:39 -04:00
git-union-merge.hs git-annex, git-union-merge: Support GIT_DIR and GIT_WORK_TREE. 2012-01-13 12:52:09 -04:00
Git.hs configure: Check if ssh connection caching is supported by the installed version of ssh and default annex.sshcaching accordingly. 2012-02-25 19:15:29 -04:00
GitAnnex.hs rekey: New plumbing level command, can be used to change the keys used for files en masse. 2012-02-16 16:36:35 -04:00
GPL symlinks 2010-10-27 15:14:59 -04:00
Init.hs hlint 2012-02-16 00:44:51 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
Limit.hs rename readMaybe to readish 2012-01-23 17:00:10 -04:00
Locations.hs improve alwayscommit=false mode 2012-02-25 16:18:55 -04:00
Makefile add a configure check for StatFS 2012-01-15 13:49:32 -04:00
mdwn2man mwdn2man: Fix a bug in newline supression. Closes: #606578 2010-12-10 17:27:02 -04:00
Messages.hs hlint 2012-02-16 00:44:51 -04:00
NEWS update NEWS 2012-01-19 15:27:39 -04:00
Option.hs hlint 2012-02-16 00:44:51 -04:00
README add README 2011-05-13 19:20:54 -04:00
Remote.hs hlint 2012-02-16 00:44:51 -04:00
Seek.hs rekey: New plumbing level command, can be used to change the keys used for files en masse. 2012-02-16 16:36:35 -04:00
Setup.hs cabal can now be used to build git-annex. 2011-06-30 14:55:03 -04:00
test.hs quiet expected compiler warning 2012-02-20 11:08:50 -04:00
Types.hs tweak 2012-01-06 10:57:57 -04:00
Upgrade.hs tweaks 2012-01-11 00:06:54 -04:00
Usage.hs make Migrate use ReKey rather than the other way around 2012-02-16 22:36:56 -04:00

git-annex allows managing files with git, without checking the file
contents into git. While that may seem paradoxical, it is useful when
dealing with files larger than git can currently easily handle, whether due
to limitations in memory, checksumming time, or disk space.

For documentation, see doc/ or <http://git-annex.branchable.com/>