git-annex/Git
Joey Hess 21a925dcf1 merge: Now runs in constant space.
Before, a merge was first calculated, by running various actions that
called git and built up a list of lines, which were at the end sent
to git update-index. This necessarily used space proportional to the size
of the diff between the trees being merged.

Now, lines are streamed into git update-index from each of the actions in
turn.

Runtime size of git-annex merge when merging 50000 location log files
drops from around 100 mb to a constant 4 mb.

Presumably it runs quite a lot faster, too.
2011-11-15 23:28:01 -04:00
..
CatFile.hs Optimised union merging; now only runs git cat-file once. 2011-11-12 17:45:12 -04:00
LsFiles.hs lint 2011-11-11 01:52:58 -04:00
LsTree.hs reorder repo parameters last 2011-11-08 16:27:20 -04:00
Queue.hs reorder repo parameters last 2011-11-08 16:27:20 -04:00
UnionMerge.hs merge: Now runs in constant space. 2011-11-15 23:28:01 -04:00