summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar http://id.clacke.se/ <Claes@web>2014-09-07 21:53:10 +0000
committerGravatar admin <admin@branchable.com>2014-09-07 21:53:10 +0000
commitf7e39ee40245e199871ddc17c120986157004989 (patch)
tree7633a2ad58027a04740ac65e2d1934c5bbe58d8f /doc
parentc94a079e8a2341c082f84f2aabd997729889afef (diff)
Added a comment: repack parameters
Diffstat (limited to 'doc')
-rw-r--r--doc/forum/big_overhead/comment_3_b4761cacc02396b5bdf34bcf3457cb91._comment10
1 files changed, 10 insertions, 0 deletions
diff --git a/doc/forum/big_overhead/comment_3_b4761cacc02396b5bdf34bcf3457cb91._comment b/doc/forum/big_overhead/comment_3_b4761cacc02396b5bdf34bcf3457cb91._comment
new file mode 100644
index 000000000..f090e5b25
--- /dev/null
+++ b/doc/forum/big_overhead/comment_3_b4761cacc02396b5bdf34bcf3457cb91._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="http://id.clacke.se/"
+ nickname="Claes"
+ subject="repack parameters"
+ date="2014-09-07T21:53:10Z"
+ content="""
+Because git-annex tracks all the events of an annexed file for each repo -- added, dropped, copied etc -- and it tracks these in one object per file in the git-annex branch, it does indeed create a lot of objects. To improve both space and performance I made sure to add `git gc --auto` as a post-commit hook, as the objects in my case can quickly reach the tens or even hundreds of thousands.
+
+To further improve performance and space, you can choose to set `pack.window` and `pack.depth` to vastly higher values than the defaults (10 and 50, respectively), because there is a large amount of objects with very similar content. I did a `git repack --window 2500 --depth 1000 -f -a d` and brought down my repo from 3 GiB (packed!) to 300 MiB. Make sure to have a lot of memory and CPU available when doing this, or it will take forever. You can set `pack.window` ridiculously high if you like, as long as you limit it with `pack.windowMemory`, so that it makes use of all your available memory for comparing objects and finding the optimal delta.
+"""]]