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

Re: [BUG REPORT] Git does not correctly replay bisect log

From
LKLukáš Krejčí <lskrejci@gmail.com>
Date
Dec 6, 2018, 17:30 UTC
Message-ID
<5ab4e3fb2e22097753bde7702e67d6ce924283a2.camel@gmail.com>
In-Reply-To
<CAP8UFD3VCzEdtfRqi_d2ibPtTN0uocGW+CshY_5m16TW1_YUdw@mail.gmail.com>
On Thu, 2018-12-06 at 17:31 +0100, Christian Couder wrote:
Show 10 quoted lines
> > When Git replays the bisect log, it only updates refs/bisect/bad,
> > refs/bisect/good-*, refs/bisect/skip-* and reconstructs the log in
> > .git/BISECT_LOG. After that check_good_are_ancestors_of_bad() verifies
> > that all good commits are ancestors of the bad commit, and if not, the
> > message "Bisecting: a merge base must be tested" is printed and the
> > branch is switched to the merge base of the bad and all the good
> > commits.
> 
> I am not sure if you are talking about running `git bisect replay` or
> sourcing the log in the above.

I am talking about `git bisect replay`. The shell script, as far as I can see, only updates the references (ref/bisect/*) and never checks if the revisions marked as 'good' are ancestors of the 'bad' one. Therefore, $GIT_DIR/BISECT_ANCESTORS_OK file is never created.

The first time the ancestors are checked is in the helper (`git-bisect- -help --next-all`) that has only limited information from refs/bisect*.

Previous: Christian CouderNext: Christian Couder
Message 8 of 10 in “[BUG REPORT] Git does not correctly replay bisect log”
  1. Lukáš KrejčíDec 4, 2018
  2. Christian CouderDec 4, 2018
  3. Lukáš KrejčíDec 4, 2018
  4. Christian CouderDec 4, 2018
  5. Lukáš KrejčíDec 4, 2018
  6. Lukáš KrejčíDec 6, 2018
  7. Christian CouderDec 6, 2018
  8. Lukáš KrejčíDec 6, 2018
  9. Christian CouderDec 6, 2018
  10. Lukáš KrejčíDec 4, 2018

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.