diff options
author | brian m. carlson <sandals@crustytoothpaste.net> | 2014-12-24 23:05:39 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-12-29 09:57:55 -0800 |
commit | 1684c1b219e02c91655ad929f752f4f864c72faf (patch) | |
tree | 8c5c581b502587f2f4be3e375a37c43152210fc3 /builtin | |
parent | Documentation: add missing article in rev-list-options.txt (diff) | |
download | tgif-1684c1b219e02c91655ad929f752f4f864c72faf.tar.xz |
rev-list: add an option to mark fewer edges as uninteresting
In commit fbd4a70 (list-objects: mark more commits as edges in
mark_edges_uninteresting - 2013-08-16), we marked an increasing number
of edges uninteresting. This change, and the subsequent change to make
this conditional on --objects-edge, are used by --thin to make much
smaller packs for shallow clones.
Unfortunately, they cause a significant performance regression when
pushing non-shallow clones with lots of refs (23.322 seconds vs.
4.785 seconds with 22400 refs). Add an option to git rev-list,
--objects-edge-aggressive, that preserves this more aggressive behavior,
while leaving --objects-edge to provide more performant behavior.
Preserve the current behavior for the moment by using the aggressive
option.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/pack-objects.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 3f9f5c7760..f93a17c465 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -2711,7 +2711,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) argv_array_push(&rp, "pack-objects"); if (thin) { use_internal_rev_list = 1; - argv_array_push(&rp, "--objects-edge"); + argv_array_push(&rp, "--objects-edge-aggressive"); } else argv_array_push(&rp, "--objects"); |