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

Re: Why can't I use git-bisect to find the first *good* commit?

From
Jeff King <peff@peff.net>
Date
Mar 28, 2011, 20:25 UTC
Message-ID
<20110328202521.GB27755@sigill.intra.peff.net>
In-Reply-To
<AANLkTim+iQ89b49nC8NRtoUobV4tMVL+bCoW-vg3+rLD@mail.gmail.com>
On Mon, Mar 28, 2011 at 04:12:49PM -0400, Andrew Garber wrote:
Show 15 quoted lines
> But what about demerphq's example? (see below)
> 
> >      Bx--B--B--B*
> >     /
> >  --Gz--By--B--Gx--G*
> >
> > How does knowing that G* is good help you to find that Bx broke the
> > code in the B* branch again?
> >
> > Presumably 'By' broke the G* branch which was then fixed by Gx and
> > none of this information helps you at all identify that Bx broke the
> > B* branch.
> >
> > Whereas a plain binary search on the B* branch would eventually find
> > that Bx was responsible.

If you feed bisect a history where the bug flips off and on between good and bad commits, you aren't necessarily going to get the answer you want. But that has nothing to do with the history shape; it is a problem in a linear history like this, too:

  --G--Bx--B--G--G--By--B

That being said, it is more likely to happen with cherry-picking, which is more likely to happen with multiple branches. In git.git, we tend to favor creating (or backporting) bugfix commits close to the bug itself, and then merging the same commit up.

-Peff
Previous: Andrew GarberNext: Jeff King
Message 19 of 23 in “Why can't I use git-bisect to find the first *good* commit?”
  1. Ævar Arnfjörð BjarmasonMar 28, 2011
  2. Andreas EricssonMar 28, 2011
  3. code.sculptor@gmail.comMar 28, 2011
  4. Matthieu MoyMar 28, 2011
  5. Vincent van RavesteijnMar 28, 2011
  6. Christian CouderMar 28, 2011
  7. Andrew GarberMar 28, 2011
  8. Johannes SixtMar 28, 2011
  9. Andrew GarberMar 28, 2011
  10. Matthieu MoyMar 28, 2011
  11. Andrew GarberMar 28, 2011
  12. Matthieu MoyMar 28, 2011
  13. Andrew GarberMar 28, 2011
  14. Matthieu MoyMar 28, 2011
  15. demerphqMar 28, 2011
  16. Andrew GarberMar 28, 2011
  17. Matthieu MoyMar 28, 2011
  18. Andrew GarberMar 28, 2011
  19. Jeff KingMar 28, 2011
  20. Jeff KingMar 28, 2011
  21. Matthieu MoyMar 28, 2011
  22. Andreas EricssonMar 29, 2011
  23. Michael WittenMay 22, 2011

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.