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 b086e32c63 unused: Reduce memory usage significantly.
Much of the memory bloat turned out to be due to getKeysReferenced
containing a mapM, which is strict and buffered the whole list
rather than streaming it.

The other half of the bloat was due to building a temporary Set
in order to call S.difference. While that is more cpu efficient,
I switched to successive S.delete, since with it, I can run a whole
git annex unused in less than 8 mb of memory.

The whole Set of keys with content available is still stored in memory,
so running unused in a repo with a whole lot of file content will still
use more memory. In a repo containing 6000 files, it needed 40 mb.

Note that the status command still uses the bloatful getKeysReferenced.
2012-03-11 16:24:07 -04:00
Annex syscall optimisation 2012-03-06 13:56:20 -04:00
Backend handle really long urls 2012-02-16 02:05:06 -04:00
Build Setup.hs: import configure 2012-03-10 14:00:26 -04:00
Command unused: Reduce memory usage significantly. 2012-03-11 16:24:07 -04:00
Common lint 2011-11-11 01:52:58 -04:00
debian unused: Reduce memory usage significantly. 2012-03-11 16:24:07 -04:00
doc unused: Reduce memory usage significantly. 2012-03-11 16:24:07 -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 add remote start and stop hooks 2012-03-04 19:12:58 -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 perhaps more clear type 2012-03-10 11:38:38 -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
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 factor out Utility.FileSystemEncoding 2012-03-09 19:08:10 -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 Setup.hs: import configure 2012-03-10 14:00:26 -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 move text dependency into same block with the other dependencies 2012-03-10 14:00:06 -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
Init.hs hlint 2012-02-16 00:44:51 -04:00
INSTALL
Limit.hs rename readMaybe to readish 2012-01-23 17:00:10 -04:00
Locations.hs perhaps more clear type 2012-03-10 11:38:38 -04:00
Makefile remove cruft 2012-03-10 23:02:17 -04:00
mdwn2man
Messages.hs make meter slightly wider 2012-03-04 10:49:28 -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
Remote.hs "here" can be used to refer to the current repository, which can read better than the old "." (which still works too). 2012-03-01 22:35:10 -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 Setup.hs: import configure 2012-03-10 14:00:26 -04:00
test.hs remove addurl test 2012-03-06 13:21:46 -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/>