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

Re: [RFC 0/9] bisect: allow git bisect to be used with repos containing damaged trees.

From
Jon Seymour <jon.seymour@gmail.com>
Date
Jul 25, 2011, 23:38 UTC
Message-ID
<CAH3AnrrOdduUG_rS97fR_PRZAWb6y3uPa_oKDZenEX2gG-AvAQ@mail.gmail.com>
In-Reply-To
<4E2DBA84.3090405@kdbg.org>
On Tue, Jul 26, 2011 at 4:48 AM, Johannes Sixt <j6t@kdbg.org> wrote:
Show 7 quoted lines
> Am 25.07.2011 11:28, schrieb Jon Seymour:
>> On Mon, Jul 25, 2011 at 4:35 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>> Jon Seymour <jon.seymour@gmail.com> writes:
>
> The fundamental preconditions of bisection are: that there is a single
> event in the sequence, and that the effects of the event propagate to
> the end of the sequence.

More correctly: the fundamental pre-condition of a single round of bisection finding an event of interest is as you say.

There is nothing that prevents multiple rounds of bisection being used, if required.

So, in my examples, may produce a limit commit such that the graph between the limit and the tip contains two regions of good commits and two regions of bad commits. So, you keep applying rounds of bisection until the bad regions identified have no good commits.

>
> Junio explainded, that the second precondition is violated. Therefore,
> you cannot apply git-bisect to find brokenness in a repository *in general*.
>

I never claimed that a single round of biseciton would be enough, in general. Only that it would be useful to be able to apply a bisection algorithm to broken repositories.

It seems clear to me that bisection is a very useful tool for probling the extent of corruption in a broken repo. It is certainly not the only tool, may not work in all cases (broken commits) and may not be all you need.

Anyway, I agree that Junio's suggestion (e.g. --no-checkout) is a better and more generally applicable than my original (--ignore-checkout-failure) suggestion.

jon.
Previous: Johannes SixtNext: Jakub Narebski
Message 18 of 21 in “[RFC 0/9] bisect: allow git bisect to be used with repos containing damaged trees.”
  1. Jon SeymourJul 24, 2011
  2. 1/9 bisect: add tests to document expected behaviour in presence of broken trees.Jon Seymour, Jul 24, 2011
  3. 2/9 bisect: introduce a --ignore-checkout-failure option to bisect--helper.Jon Seymour, Jul 24, 2011
  4. 3/9 bisect: implement support for --ignore-checkout-failure optionJon Seymour, Jul 24, 2011
  5. 4/9 bisect: introduce a helper function to tolerate checkout failures.Jon Seymour, Jul 24, 2011
  6. 5/9 bisect: replace existing calls to git checkout with bisect_checkout_with_ignoreJon Seymour, Jul 24, 2011
  7. 6/9 bisect: enable --ignore-checkout-failure in the porcelain.Jon Seymour, Jul 24, 2011
  8. 7/9 bisect: better diagnostics, in case of mis-typed option.Jon Seymour, Jul 24, 2011
  9. 8/9 bisect: add tests for --ignore-checkout-failure option.Jon Seymour, Jul 24, 2011
  10. 9/9 bisect: add documentation for --ignore-checkout-failure option.Jon Seymour, Jul 24, 2011
  11. Johannes SixtJul 24, 2011
  12. Jon SeymourJul 24, 2011
  13. Junio C HamanoJul 24, 2011
  14. Jon SeymourJul 25, 2011
  15. Junio C HamanoJul 25, 2011
  16. Jon SeymourJul 25, 2011
  17. Johannes SixtJul 25, 2011
  18. Jon SeymourJul 25, 2011
  19. Jakub NarebskiJul 26, 2011
  20. Jon SeymourJul 26, 2011
  21. Jon SeymourJul 26, 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.