Subject: Re: [PATCH 4/5] bisect--helper: add "--next-exit" to output bisect results

From: Junio C Hamano <[email-masked]>
Date: Mon, 20 Apr 2009 01:44:34 -0700

Christian Couder <[email-masked]> writes:

> The goal of this patch is to port more shell code from the "bisect_next"
> function in "git-bisect.sh" to C code in "builtin-bisect--helper.c".
>
> So we port the code that interprets the bisection result and stops or
> continues (by checking out the next revision) the bisection process.
>
> Signed-off-by: Christian Couder <[email-masked]>

Just to make sure I understand correctly, with this and patch 5/5, we can
then drop the --next-vars helper command, right?

> @@ -16,6 +17,12 @@ static const char **rev_argv;
>  static int rev_argv_nr;
>  static int rev_argv_alloc;
>  
> +static const unsigned char *current_bad_sha1;
> +
> +static const char *argv_diff_tree[] = {"diff-tree", "--pretty", NULL, NULL};
> +static const char *argv_checkout[] = {"checkout", "-q", NULL, "--", NULL};
> +static const char *argv_show_branch[] = {"show-branch", NULL, NULL};

I do appreciate that you kept this step in "rewrite in C" theme a straight
rewrite to still call out the executables.  We can turn these into
internal calls in future steps, but that is a separate issue.

I suspect that the show-branch call outlived its usefulness with this
patch; it will now be a low hanging fruit to call format_commit_message()
internally to reduce one fork+exec.

Thanks, queued.