Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew DeVore <matvore@google.com>2018-10-23 04:13:42 +0300
committerJunio C Hamano <gitster@pobox.com>2018-10-23 07:52:57 +0300
commit669b1d2aaec73ba762bf566078308075886ca208 (patch)
tree221c7ff149683106450a6ba51e2b613c0bffae27 /builtin/prune.c
parent368a89124c3ad859631452f7b012d0ad939375f3 (diff)
exclude-promisor-objects: declare when option is allowed
The --exclude-promisor-objects option causes some funny behavior in at least two commands: log and blame. It causes a BUG crash: $ git log --exclude-promisor-objects BUG: revision.c:2143: exclude_promisor_objects can only be used when fetch_if_missing is 0 Aborted [134] Fix this such that the option is treated like any other unknown option. The commands that must support it are limited, so declare in those commands that the flag is supported. In particular: pack-objects prune rev-list The commands were found by searching for logic which parses --exclude-promisor-objects outside of revision.c. Extra logic outside of revision.c is needed because fetch_if_missing must be turned on before revision.c sees the option or it will BUG-crash. The above list is supported by the fact that no other command is introspectively invoked by another command passing --exclude-promisor-object. Signed-off-by: Matthew DeVore <matvore@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/prune.c')
-rw-r--r--builtin/prune.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/prune.c b/builtin/prune.c
index 4394d01c93..a5c784749e 100644
--- a/builtin/prune.c
+++ b/builtin/prune.c
@@ -118,6 +118,7 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
save_commit_buffer = 0;
check_replace_refs = 0;
ref_paranoia = 1;
+ revs.allow_exclude_promisor_objects_opt = 1;
init_revisions(&revs, prefix);
argc = parse_options(argc, argv, prefix, options, prune_usage, 0);