From: Johannes Sixt <j6t@kdbg.org>
To: Alex Hoffman <spec@gal.ro>
Cc: Stephan Beyer <s-beyer@gmx.net>, git@vger.kernel.org
Subject: Re: Git bisect does not find commit introducing the bug
Date: Sat, 18 Feb 2017 23:37:12 +0100 [thread overview]
Message-ID: <148a585a-33df-1adb-6410-5c4fe09202b0@kdbg.org> (raw)
In-Reply-To: <CAMX8fZW2y+iPRfSbXVcHufbM+CsqgekS_0WnCEJ++=njy_TvKg@mail.gmail.com>
Am 18.02.2017 um 19:36 schrieb Alex Hoffman:
> Let's consider your example with distinct names for nodes:
>
> --o1--o2--o3--G--X1
> \ \
> x1--x2--x3--x4--X2--B--
>
> It makes sense that git bisect is expecting a single transition, as
> this is a precondition for a binary search to work. My definition of
> "the transition" is a commit with at least one of its parents as a
> good version, but the commit itself a bad version.
But that is not the definition of transition that lets you pin-point the
breaking commit precisly. Assume x3 is the commit introducing the
breakage in the graph above. Even though you only know initially that G
is good and B is bad, would you not prefer to find x3 instead of X2? As
Christian said, a transition is when a commit is bad and all its parents
are good, and this definition lets you find x3.
> I hope we agree
> that git bisect's mission is to search for this transition (as I
> suppose that most of people need such a functionality from git, if not
> exactly from git bisect). How could be x1 or x3 be the transition, if
> chances are that o1 is not a good version?
By declaring G as good, it is implied that o1 is also good. If it is in
fact bad, the assumptions of git bisect are violated (because there
would be a transition from bad to good at o2, o3, or G), and anything
can happen.
> If you consider that git bisect's mission is different from finding
> the transition, could you please explain what exact commit git bisect
> is supposed to return (ideally with terms from the graph theory) and
> when it makes sense to return that? Because I do not see any sense in
> looking in the path x1-x3 without knowing that those commits may be a
> transition.
And I do not see a reason why git bisect should not look at those
commits. If x3 is the commit that broke my program, I do prefer to be
pointed at x3 rather than X2.
-- Hannes
prev parent reply other threads:[~2017-02-18 22:37 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-17 22:29 Git bisect does not find commit introducing the bug Alex Hoffman
2017-02-17 23:21 ` Stephan Beyer
2017-02-18 9:12 ` Johannes Sixt
2017-02-18 11:15 ` Alex Hoffman
2017-02-18 14:18 ` Johannes Sixt
2017-02-18 18:36 ` Alex Hoffman
2017-02-18 19:58 ` Christian Couder
2017-02-19 11:32 ` Alex Hoffman
2017-02-19 12:43 ` Alex Hoffman
2017-02-19 13:07 ` Christian Couder
2017-02-19 14:13 ` Johannes Sixt
2017-02-19 19:05 ` Alex Hoffman
2017-02-19 19:25 ` Jacob Keller
2017-02-20 7:38 ` Oleg Taranenko
2017-02-20 12:27 ` Jakub Narębski
2017-02-20 13:50 ` Oleg Taranenko
2017-02-20 20:31 ` Alex Hoffman
2017-02-20 20:35 ` Jakub Narębski
2017-02-20 20:39 ` Alex Hoffman
2017-02-20 22:24 ` Philip Oakley
2017-02-21 19:40 ` Alex Hoffman
2017-02-21 22:39 ` Philip Oakley
2017-02-20 9:02 ` Junio C Hamano
2017-02-18 22:10 ` Philip Oakley
2017-02-18 22:36 ` Hilco Wijbenga
2017-02-18 22:37 ` Johannes Sixt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=148a585a-33df-1adb-6410-5c4fe09202b0@kdbg.org \
--to=j6t@kdbg.org \
--cc=git@vger.kernel.org \
--cc=s-beyer@gmx.net \
--cc=spec@gal.ro \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).