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

Re: [BUG] Git bisect extends bisecting range on repeated good/bad data

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 13, 2019, 18:58 UTC
Message-ID
<xmqq5zikkq6n.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<473FE927-FC11-46A0-8ABB-7A1FDC8C1A6C@linaro.org>
Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> writes:
> Git bisect may /extend/ bisection range on repeated good/bad data.  Is this expected?
It is not "repeated" that is an issue, but yes this is expected.

The bisection works by finding a mid point to cut the graph into two pieces of roughly the same size, and the graph is defined by the set of good commits on the bottom (i.e. "we were told that all these good commits were good, so there is no point going back the history beyond any of them") and the single "bad" commit you gave the last.

If you give 'bad' that is in the newer part of the history than the one that is already known to be bad, then you rewind that single "bad" commit, to force/allow the machinery to recompute the midpoint [*1*], and because the area to search would be wider when you do so, it is very much expected that you'd be offered to test more commits.

[Footnote]
*1* I said force/allow is because allowing the machinery to go back
    and recompute is a way to recover when you gave a "bad" earlier
    by mistake.
Previous: Maxim KuvyrkovNext: Maxim Kuvyrkov
Message 2 of 3 in “[BUG] Git bisect extends bisecting range on repeated good/bad data”
  1. Maxim KuvyrkovDec 13, 2019
  2. Junio C HamanoDec 13, 2019
  3. Maxim KuvyrkovDec 16, 2019

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.