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

Re: [PATCH] Document 'git bisect fix'.

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Mar 16, 2011, 11:47 UTC
Message-ID
<4D80A33B.8020006@drmicha.warpmail.net>
In-Reply-To
<AANLkTimAaL-C_oH9X3QFUc+JOaSi7xVe93KYJuL0VEyR@mail.gmail.com>
Christian Couder venit, vidit, dixit 16.03.2011 10:52:
Show 25 quoted lines
> Hi,
> 
> On Mon, Mar 14, 2011 at 10:00 PM, Ralf Wildenhues
> <Ralf.Wildenhues@gmx.de> wrote:
>> git bisect is sometimes less effective than it could be in projects
>> with long-lived but simple bugs (e.g., little-tested configurations).
>> Rather than skipping vast revision ranges, it might be easier to fix
>> them up from known bugfix branches.
> 
> It's already possible to deal with this problem by creating a new
> branch where the bug is fixed, and then using "git replace", so that
> the new branch is used instead of the old one.
> Please search for "git replace" in this doc:
> 
> http://www.kernel.org/pub/software/scm/git/docs/git-bisect-lk2009.html
> 
>> 'git bisect fix' teaches bisect about when some known bug was
>> introduced and when it was fixed, so that bisect can merge in
>> the fix when needed into new test candidates.
> 
> Perhaps some people would find it easier to use what you suggest but
> using git replace may be nicer because you have to create the new
> branch once, so you need to fix merge or rebase problems only once.
> And the new branch may be useful not only for bisecting, for example
> to recreate old versions.

I'd say the replace method is perfect for transporting an existing fix "back in time" when the range of non-bisectable commits is limited. But since you have to replace the right (most recent) commit in that range it is less convenient when you have a fix due to a changed/exotic build environment or such which you do not want in your mainline.

Also, you have to rebase the whole history back to the commit which introduced the problem - and that could be the root commit if the bisect problems arise from a changed toolchain, like here.

Michael P.S.: Did you cull cc on purpose or did gmane mess up? Readding AM, LT, TG

Previous: Christian CouderNext: Junio C Hamano
Message 9 of 10 in “git bisect plus fixes (was: PATCH: Add --size-check=[error|warning])”
  1. Ralf WildenhuesMar 14, 2011
  2. git-bisect.txt: example for bisecting with hotfixMichael J Gruber, Mar 14, 2011
  3. Junio C HamanoMar 14, 2011
  4. 1/2 git-bisect.txt: streamline run presentationMichael J Gruber, Mar 15, 2011
  5. 2/2 git-bisect.txt: example for bisecting with hot-fixMichael J Gruber, Mar 15, 2011
  6. Document 'git bisect fix'.Ralf Wildenhues, Mar 14, 2011
  7. Yann DirsonMar 15, 2011
  8. Christian CouderMar 16, 2011
  9. Michael J GruberMar 16, 2011
  10. Junio C HamanoMar 16, 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.