Subject: Re: [PATCH v4 0/3] Avoid hardcoded "good"/"bad" bisect terms

From: Junio C Hamano <[email-masked]>
Date: Fri, 15 May 2026 04:56:27 +0900

Jonas Rebmann <[email-masked]> writes:

> While checking whether all output messages of git bisect were covered by
> [PATCH 1/3] bisect: use selected alternate terms in status output I
> found hardcoded good/bad refs leading to incompatibility of git
> rev-parse --bisect with alternate bisect run terms. This is addressed by
> [PATCH 3/3] rev-parse: use selected alternate terms to look up refs
>
> Signed-off-by: Jonas Rebmann <[email-masked]>
> ---
> Changes in v4:
> - Always print bisect terms in single quote (Thanks, Junio)
> - Split out quoting of bisect terms into separate commit
>> - Link to v3: https://patch.msgid.link/[email-masked]

Having this "Link" is better than nothing, but it alone is not
sufficient to help those who mechanise patch consumption with b4.

  https://b4.docs.kernel.org/en/latest/index.html

Please make sure that your cover letter of the (i+1)th iteration
[v(i+1) 0/N] is a reply to the cover letter of the i-th iteration
[v(i) 0/M].  With that, anybody who has the i-th iteration can

 1. Check out the i-th iteration, e.g., 

    $ git checkout jr/bisect-custom-terms-in-output

 2. Peek at any of the commits on the topic branch with notes/amlog
    e.g.,

    $ git notes --ref=amlog show HEAD

 3. Check out the base, e.g.,

    $ git checkout --detach master...

    Note that the branch that holds the i-th iteration can now be
    accessed via @{-1} (i.e., the branch previously checked out).

 4. Tell B4 to fetch the latest round of the same series, by giving
    one/any of the message-ID we learned earlier, and apply them.

    $ b4 am -o- \
      "<[email-masked]>" |
      git am -s

 5. See what changed with range-diff

    $ git range-diff @{-1}...

 6. When satisified, replace the topic with the new iteration.

    $ git checkout -B @{-1}

It is crucial that b4 can find the newer iteration when given a
message-ID from the older iteration in step 4 for this workflow to
work, and for that, [v4 0/3] must be a reply to [v3 0/2].  Otherwise
b4 will say that v3 is still the last iteration and we cannot make
progress.

> Changes in v3:
> - when referencing newly introduced terms, reference them in single
>   quotes (Thanks, Phillip)
> - Prefer test_grep over grep in updated Tests (Thanks, Phillip)
> - Improve commit messages (Thanks, Phillip)
> - Don't leak memory after read_bisect_terms() (Thanks, Phillip)
> - Don't leak memory after xstrfmt() (Thanks, Junio)
> - Add test case to patch 2/2
> - Link to v2: https://patch.msgid.link/[email-masked]

With these improvements, v3 was already in a quite good shape, but
the latest makes it look even better.  Will replace.  Thanks.