diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-01-12 11:38:56 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-01-12 11:38:57 -0800 |
commit | 832258da969fbedbbd1d474900dbdbdf23d4bca1 (patch) | |
tree | 5a4e2d2b8d0f3be973f4871bdb85389db2063c74 /builtin | |
parent | e20d5a2c4433daf09797d9e4e9f6c4eaedec86dd (diff) | |
parent | 2dacf26d0985521c0f30e535963a45257b63ea21 (diff) | |
download | git-832258da969fbedbbd1d474900dbdbdf23d4bca1.tar.gz |
Merge branch 'bc/fetch-thin-less-aggressive-in-normal-repository'
Earlier we made "rev-list --object-edge" more aggressively list the
objects at the edge commits, in order to reduce number of objects
fetched into a shallow repository, but the change affected cases
other than "fetching into a shallow repository" and made it
unusably slow (e.g. fetching into a normal repository should not
have to suffer the overhead from extra processing). Limit it to a
more specific case by introducing --objects-edge-aggressive, a new
option to rev-list.
* bc/fetch-thin-less-aggressive-in-normal-repository:
pack-objects: use --objects-edge-aggressive for shallow repos
rev-list: add an option to mark fewer edges as uninteresting
Documentation: add missing article in rev-list-options.txt
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/pack-objects.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 3f9f5c7760..d8165878e1 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -2613,6 +2613,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) { int use_internal_rev_list = 0; int thin = 0; + int shallow = 0; int all_progress_implied = 0; struct argv_array rp = ARGV_ARRAY_INIT; int rev_list_unpacked = 0, rev_list_all = 0, rev_list_reflog = 0; @@ -2677,6 +2678,8 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix) PARSE_OPT_OPTARG, option_parse_unpack_unreachable }, OPT_BOOL(0, "thin", &thin, N_("create thin packs")), + OPT_BOOL(0, "shallow", &shallow, + N_("create packs suitable for shallow fetches")), OPT_BOOL(0, "honor-pack-keep", &ignore_packed_keep, N_("ignore packs that have companion .keep file")), OPT_INTEGER(0, "compression", &pack_compression_level, @@ -2711,7 +2714,9 @@ 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, shallow + ? "--objects-edge-aggressive" + : "--objects-edge"); } else argv_array_push(&rp, "--objects"); |