diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-08-10 22:16:09 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-08-10 22:16:09 -0700 |
commit | efd3f9fdbcc1f4fc8b423dfa4e73f11a18d0500f (patch) | |
tree | 858e5edc452e5e9b66a4e0637f480f196a428f5f | |
parent | 6eedee514eb39f2b097cd572b47946cef6ea88e6 (diff) | |
parent | 5749b0b2f935dc418c98ba8e7c52c3291451bc4a (diff) | |
download | git-efd3f9fdbcc1f4fc8b423dfa4e73f11a18d0500f.tar.gz git-efd3f9fdbcc1f4fc8b423dfa4e73f11a18d0500f.tar.xz |
Merge branch 'np/maint-limit-delta-cache'
* np/maint-limit-delta-cache:
don't let the delta cache grow unbounded in 'git repack'
-rw-r--r-- | Documentation/config.txt | 14 | ||||
-rw-r--r-- | builtin-pack-objects.c | 2 |
2 files changed, 12 insertions, 4 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index c6f09f801..7791c32bc 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 diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c index ef4bf6bc1..9cc8a8451 100644 --- a/builtin-pack-objects.c +++ b/builtin-pack-objects.c @@ -86,7 +86,7 @@ static int pack_compression_level = Z_DEFAULT_COMPRESSION; static int pack_compression_seen; static unsigned long delta_cache_size = 0; -static unsigned long max_delta_cache_size = 0; +static unsigned long max_delta_cache_size = 256 * 1024 * 1024; static unsigned long cache_max_small_delta_size = 1000; static unsigned long window_memory_limit = 0; |