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

Re: What's cooking in git.git (Apr 2017, #04; Wed, 19)

From
Johannes Sixt <j6t@kdbg.org>
Date
Apr 25, 2017, 05:51 UTC
Message-ID
<3bd4a2d7-ada9-6198-8cf1-573d80cae1b4@kdbg.org>
In-Reply-To
<CAP8UFD1r9TFE9ns5pobDOpugF8MBiJAYgrRALCqGVmgWud=QjQ@mail.gmail.com>
Am 25.04.2017 um 04:00 schrieb Christian Couder:
Show 18 quoted lines
> On Sat, Apr 22, 2017 at 3:37 PM, Johannes Sixt <j6t@kdbg.org> wrote:
>> Am 21.04.2017 um 14:29 schrieb Christian Couder:
>>>
>>> First bisect should ask you to test merge bases only if there are
>>> "good" commits that are not ancestors of the "bad" commit.
>>
>>
>> That's a tangent, but I have never understood why this needs to be so.
>> Consider this:
>>
>>     o--o--o--o--o--o--o--o--B
>>    /           /
>>  -o--o--o--o--g--o--o--o--o--G
>>
>> When I mark B as bad and G as good, why would g have to be tested first?
>
> It is because g could be bad if the bug has been fixed between g and G.
> If this happens and we don't test g, we would give a wrong result.

Gah! So, a typical messy workflow "requires" this behavior. A clean branchy workflow like Git's does not because we know that a breakage is either on a topic branch, B, or a (the?) bad commit is an ancester of (the integration branch) G.

Show 7 quoted lines
>
>> This is exactly what I do when I bisect in Git history: I mark the latest
>> commits on git-gui and gitk sub-histories as good, because I know they can't
>> possibly be bad. (In my setup, these two histories are ahead of pu and
>> next.)
>
> Yeah, it is safe to do that in this case as we test the merge bases.

The idea of marking git-gui and gitk histories that none of their commits is checked out: it erases all Git source code from the working directory, and a later bisection step places all code back and it requires a full build. Not a big deal with Git, but there are much larger code bases.

The current bisect behavior makes this idea unworkable. For me, it was a big step backwards when it was implemented. :-(

-- Hannes
Previous: Christian CouderNext: Junio C Hamano
Message 23 of 29 in “What's cooking in git.git (Apr 2017, #04; Wed, 19)”
  1. Junio C HamanoApr 20, 2017
  2. Duy NguyenApr 20, 2017
  3. Jeff KingApr 20, 2017
  4. Junio C HamanoApr 20, 2017
  5. Junio C HamanoApr 20, 2017
  6. Lars SchneiderApr 20, 2017
  7. Junio C HamanoApr 20, 2017
  8. Johannes SchindelinApr 20, 2017
  9. Brandon WilliamsApr 20, 2017
  10. Brandon WilliamsApr 20, 2017
  11. Junio C HamanoApr 21, 2017
  12. Junio C HamanoApr 20, 2017
  13. Johannes SchindelinApr 21, 2017
  14. Christian CouderApr 21, 2017
  15. Johannes SchindelinApr 22, 2017
  16. Christian CouderApr 22, 2017
  17. Johannes SchindelinApr 24, 2017
  18. Johannes SixtApr 22, 2017
  19. Johannes SchindelinApr 24, 2017
  20. Philip OakleyApr 24, 2017
  21. Christian CouderApr 25, 2017
  22. Christian CouderApr 25, 2017
  23. Johannes SixtApr 25, 2017
  24. Junio C HamanoApr 25, 2017
  25. Johannes SixtApr 25, 2017
  26. Junio C HamanoApr 24, 2017
  27. Johannes SchindelinApr 24, 2017
  28. Ævar Arnfjörð BjarmasonApr 24, 2017
  29. Junio C HamanoApr 25, 2017

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.