git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Using --term-* with bisect breaks skip

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 19, 2021, 18:55 UTC
Message-ID
<xmqqlf9e9k9d.fsf@gitster.g>
In-Reply-To
<20210418151459.GC10839@aaberge.net>
Trygve Aaberge <trygveaa@gmail.com> writes:
Show 25 quoted lines
> What did you do before the bug happened? (Steps to reproduce your issue)
> 1. git bisect start --term-new=fixed --term-old=unfixed master HEAD~10
> 2. git bisect skip
>
> What did you expect to happen? (Expected behavior)
> Git should mark the commit as skipped and change HEAD to a different commit.
>
> What happened instead? (Actual behavior)
> The commit was marked as skipped, but HEAD was not changed.
>
> What's different between what you expected and what actually happened?
> After running bisect skip, HEAD was still at the same commit as before,
> instead of having changed to a new that I can test. The usual output about
> steps left to test and the new commit was also missing, skip did not output
> anything.
>
> Anything else you want to add:
> - If I don't provide any --term-* options, skip works as expected.
> - The revisions provided in the reproduction steps doesn't matter, they're
>   just an example.
> - I tried running from the next branch, and it happened there too.
>
> [System Info]
> git version:
> git version 2.31.1
Thanks for a report.

I suspect that this is a fairly recent regression. With Git 2.30.2, "bisect skip" does flip HEAD and mark the commit to as untestable.

Can you "bisect" the problem? There aren't that many commits that touched bisection code during the period.

$ git log --format='%aN %s' --no-merges v2.30.2..v2.31.1 -- \
  bisect.c builtin/bisect--helper.c git-bisect.sh
Jeff King bisect: peel annotated tags to commits
René Scharfe use CALLOC_ARRAY
Johannes Sixt replace "parameters" by "arguments" in error messages
Pranit Bauva bisect--helper: retire `--check-and-set-terms` subcommand
Pranit Bauva bisect--helper: reimplement `bisect_skip` shell function in C
Pranit Bauva bisect--helper: retire `--bisect-auto-next` subcommand
Pranit Bauva bisect--helper: use `res` instead of return in BISECT_RESET case option
Pranit Bauva bisect--helper: retire `--bisect-write` subcommand
Pranit Bauva bisect--helper: reimplement `bisect_replay` shell function in C
Pranit Bauva bisect--helper: reimplement `bisect_log` shell function in C
Martin Ågren hash-lookup: rename from sha1-lookup
Previous: Bagas SanjayaNext: Trygve Aaberge
Message 5 of 11 in “Using --term-* with bisect breaks skip”
  1. Trygve AabergeApr 18, 2021
  2. Bagas SanjayaApr 19, 2021
  3. Trygve AabergeApr 19, 2021
  4. Bagas SanjayaApr 19, 2021
  5. Junio C HamanoApr 19, 2021
  6. Trygve AabergeApr 19, 2021
  7. test: add test for git bisect skip with --term* argumentsBagas Sanjaya, Apr 20, 2021
  8. Junio C HamanoApr 20, 2021
  9. test: add test for git bisect skip with --term* argumentsBagas Sanjaya, Apr 21, 2021
  10. Junio C HamanoApr 21, 2021
  11. Bagas SanjayaApr 22, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.