bisect: let bisect_reset() optionally check out quietly

Add a "quiet" parameter to bisect_reset() that passes "--quiet" to the
checkout restoring the original HEAD, suppressing its progress and
branch-status output.

No caller sets the flag yet, so behavior is unchanged.

Signed-off-by: Harald Nordgren <haraldnordgren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
next
Harald Nordgren 2026-07-20 09:10:18 +00:00 committed by Junio C Hamano
parent 41365c2a9b
commit 7d7fd5383c
1 changed files with 7 additions and 5 deletions

View File

@ -234,7 +234,7 @@ static int write_terms(const char *bad, const char *good)
return res;
}

static int bisect_reset(const char *commit)
static int bisect_reset(const char *commit, int quiet)
{
struct strbuf branch = STRBUF_INIT;

@ -255,8 +255,10 @@ static int bisect_reset(const char *commit)
struct child_process cmd = CHILD_PROCESS_INIT;

cmd.git_cmd = 1;
strvec_pushl(&cmd.args, "checkout", "--ignore-other-worktrees",
branch.buf, "--", NULL);
strvec_pushl(&cmd.args, "checkout", "--ignore-other-worktrees", NULL);
if (quiet)
strvec_push(&cmd.args, "--quiet");
strvec_pushl(&cmd.args, branch.buf, "--", NULL);
if (run_command(&cmd)) {
error(_("could not check out original"
" HEAD '%s'. Try 'git bisect"
@ -1089,7 +1091,7 @@ static enum bisect_error bisect_replay(struct bisect_terms *terms, const char *f
if (is_empty_or_missing_file(filename))
return error(_("cannot read file '%s' for replaying"), filename);

if (bisect_reset(NULL))
if (bisect_reset(NULL, 0))
return BISECT_FAILED;

fp = fopen(filename, "r");
@ -1338,7 +1340,7 @@ static int cmd_bisect__reset(int argc, const char **argv, const char *prefix UNU
if (argc > 1)
return error(_("'%s' requires either no argument or a commit"),
"git bisect reset");
return bisect_reset(argc ? argv[0] : NULL);
return bisect_reset(argc ? argv[0] : NULL, 0);
}

static int cmd_bisect__terms(int argc, const char **argv, const char *prefix UNUSED,