summaryrefslogtreecommitdiff
path: root/Documentation/config.txt
diff options
context:
space:
mode:
authorLibravatar Nicolas Pitre <nico@cam.org>2009-08-05 16:55:07 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2009-08-05 20:14:54 -0700
commit5749b0b2f935dc418c98ba8e7c52c3291451bc4a (patch)
tree67e34e7cbc3b1bf0fa6bdf8f64c6859fc729416f /Documentation/config.txt
parentMerge branch 'maint-1.6.3' into maint (diff)
downloadtgif-5749b0b2f935dc418c98ba8e7c52c3291451bc4a.tar.xz
don't let the delta cache grow unbounded in 'git repack'
I have 4GB of RAM on my system which should, in theory, be quite enough to repack a 600 MB repository. However the unbounded delta cache size always pushes it into swap, at which point everything virtually comes to a halt. So unbounded caches are never a good idea. A default of 256MB should be a good compromize between memory usage and speed where medium sized repositories are still likely to fit in the cache with a reasonable memory usage, and larger repositories are going to take quite some time to repack already anyway. While at it, clarify the associated config variable documentation entries a bit. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/config.txt')
-rw-r--r--Documentation/config.txt14
1 files changed, 11 insertions, 3 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index c6f09f801a..7791c32bc3 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1218,12 +1218,20 @@ pack.compression::
pack.deltaCacheSize::
The maximum memory in bytes used for caching deltas in
- linkgit:git-pack-objects[1].
- A value of 0 means no limit. Defaults to 0.
+ linkgit:git-pack-objects[1] before writing them out to a pack.
+ This cache is used to speed up the writing object phase by not
+ having to recompute the final delta result once the best match
+ for all objects is found. Repacking large repositories on machines
+ which are tight with memory might be badly impacted by this though,
+ especially if this cache pushes the system into swapping.
+ A value of 0 means no limit. The smallest size of 1 byte may be
+ used to virtually disable this cache. Defaults to 256 MiB.
pack.deltaCacheLimit::
The maximum size of a delta, that is cached in
- linkgit:git-pack-objects[1]. Defaults to 1000.
+ linkgit:git-pack-objects[1]. This cache is used to speed up the
+ writing object phase by not having to recompute the final delta
+ result once the best match for all objects is found. Defaults to 1000.
pack.threads::
Specifies the number of threads to spawn when searching for best