From be5fe2000df5c1110d8086e4704e1a90a64f7387 Mon Sep 17 00:00:00 2001 From: Aaron Lipman Date: Fri, 7 Aug 2020 17:58:36 -0400 Subject: cmd_bisect__helper: defer parsing no-checkout flag cmd_bisect__helper() is intended as a temporary shim layer serving as an interface for git-bisect.sh. This function and git-bisect.sh should eventually be replaced by a C implementation, cmd_bisect(), serving as an entrypoint for all "git bisect ..." shell commands: cmd_bisect() will only parse the first token following "git bisect", and dispatch the remaining args to the appropriate function ["bisect_start()", "bisect_next()", etc.]. Thus, cmd_bisect__helper() should not be responsible for parsing flags like --no-checkout. Instead, let the --no-checkout flag remain in the argv array, so it may be evaluated alongside the other options already parsed by bisect_start(). Signed-off-by: Aaron Lipman Signed-off-by: Junio C Hamano --- bisect.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bisect.c') diff --git a/bisect.c b/bisect.c index a11fdb1473..950ff6f533 100644 --- a/bisect.c +++ b/bisect.c @@ -989,7 +989,7 @@ void read_bisect_terms(const char **read_bad, const char **read_good) * If no_checkout is non-zero, the bisection process does not * checkout the trial commit but instead simply updates BISECT_HEAD. */ -enum bisect_error bisect_next_all(struct repository *r, const char *prefix, int no_checkout) +enum bisect_error bisect_next_all(struct repository *r, const char *prefix) { struct rev_info revs; struct commit_list *tried; @@ -997,6 +997,7 @@ enum bisect_error bisect_next_all(struct repository *r, const char *prefix, int enum bisect_error res = BISECT_OK; struct object_id *bisect_rev; char *steps_msg; + int no_checkout = ref_exists("BISECT_HEAD"); int first_parent_only = 0; /* TODO: pass --first-parent flag from git bisect start */ read_bisect_terms(&term_bad, &term_good); -- cgit v1.3