From: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
To: Christian Couder <christian.couder@gmail.com>
Cc: Michael Haggerty <mhagger@alum.mit.edu>,
Junio C Hamano <gitster@pobox.com>, git <git@vger.kernel.org>,
Antoine Delaite <antoine.delaite@ensimag.grenoble-inp.fr>,
Louis Stuber <stuberl@ensimag.grenoble-inp.fr>
Subject: Re: [PATCH v10.1 7/7] bisect: allow any terms set by user
Date: Mon, 29 Jun 2015 11:32:06 +0200 [thread overview]
Message-ID: <vpqsi9alv1l.fsf@anie.imag.fr> (raw)
In-Reply-To: <CAP8UFD1gWXOZHfiELZYgvGP1dA-aeaxbyaokKCut9pfWghy9uQ@mail.gmail.com> (Christian Couder's message of "Mon, 29 Jun 2015 10:08:42 +0200")
Christian Couder <christian.couder@gmail.com> writes:
> On Mon, Jun 29, 2015 at 9:34 AM, Matthieu Moy
>
>> As a user, when I
>> discovered "git bisect", I was actually surprised that it expected one
>> particular order between good and bad. I would have expected to be able
>> to say "this is good, this is bad, tell me where it changed" without
>> having an idea of who's good and who's bad.
>
> Maybe, but it's not how it has been developed.
... but it's how it would behave if we had this guessing feature. The
user does not have to care whether we internally need "good is an
ancestor of bad" if we can provide a user-interface which does not need
that.
I find it particularly frustrating that we issue the message:
"The merge base %s is bad.\n"
"This means the bug has been fixed "
"between %s and [%s].\n"
bisect is all about finding the commit where a property has changed, and
here it stops, saying "I know it's between A and B, but I won't go
further".
>> In particular when bisecting from two branches, the user knows that
>> branch A is good, and branch B is bad, but does not necessarily know
>> whether it's a regression in B or a
>> fix in A. The fact that bisect can find out should be just "normal" from
>> the user point of view. There's no mistake involved, nothing to fix, and
>> nothing that went wrong.
>
> Well in this case, it's possible that the merge base is bad and what
> the user is interested in is the first bad commit that was commited
> before the merge base. We just don't know, in the case the merge base
> is bad, what is more interesting for the user.
The question asked by the user is "X is good, Y is bad, tell me where
exactly it changed". We can't know for sure what is "interesting" for
the user, but we can answer his question anyway.
Similarly, there can be several commits that introduce the same
regression (this may happen if you cherry picked the guilty commit from
branch A to branch B, and then merged A and B, or if you broke, fixed,
and then broke again). bisect finds one transition from good to bad, but
not all. It may or may not be the one the user wanted, but we can't
know.
>> I think I prefer "term" to "name".
>
> Ok with that. I agree that it would be more consistent to have a "git
> bisect terms" and "--term-{old,new,bad,good}".
OK, I've applied it.
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/
next prev parent reply other threads:[~2015-06-29 9:32 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-26 16:58 [PATCH v10 0/7] bisect terms Matthieu Moy
2015-06-26 16:58 ` [PATCH v10 1/7] bisect: correction of typo Matthieu Moy
2015-06-26 16:58 ` [PATCH v10 2/7] Documentation/bisect: move getting help section to the end Matthieu Moy
2015-06-26 16:58 ` [PATCH v10 3/7] Documentation/bisect: revise overall content Matthieu Moy
2015-06-26 16:58 ` [PATCH v10 4/7] bisect: replace hardcoded "bad|good" by variables Matthieu Moy
2015-06-26 16:58 ` [PATCH v10 5/7] bisect: simplify the addition of new bisect terms Matthieu Moy
2015-06-26 19:22 ` Christian Couder
2015-06-26 20:32 ` [PATCH v10.1 " Matthieu Moy
2015-06-26 21:27 ` Junio C Hamano
2015-06-26 21:37 ` Matthieu Moy
2015-06-26 16:58 ` [PATCH v10 6/7] bisect: add the terms old/new Matthieu Moy
2015-06-26 16:58 ` [PATCH v10 7/7] bisect: allow any terms set by user Matthieu Moy
2015-06-26 18:16 ` Junio C Hamano
2015-06-26 20:39 ` [PATCH v10.1 " Matthieu Moy
2015-06-26 22:25 ` Junio C Hamano
2015-06-27 4:10 ` Christian Couder
2015-06-27 4:25 ` Junio C Hamano
2015-06-27 4:51 ` Christian Couder
2015-06-27 8:32 ` Matthieu Moy
2015-06-27 18:41 ` Junio C Hamano
2015-06-29 9:51 ` Matthieu Moy
2015-06-29 16:35 ` Junio C Hamano
2015-06-28 5:51 ` Michael Haggerty
2015-06-28 6:15 ` Junio C Hamano
2015-06-28 6:46 ` Michael Haggerty
2015-06-28 7:32 ` Junio C Hamano
2015-06-28 11:31 ` Michael Haggerty
2015-06-28 18:51 ` Junio C Hamano
2015-06-29 7:27 ` Matthieu Moy
2015-06-29 16:40 ` Junio C Hamano
2015-06-29 5:08 ` Christian Couder
2015-06-29 7:34 ` Matthieu Moy
2015-06-29 8:08 ` Christian Couder
2015-06-29 9:32 ` Matthieu Moy [this message]
2015-06-29 10:55 ` Christian Couder
2015-06-29 15:19 ` Matthieu Moy
2015-06-26 20:29 ` [PATCH v10 " Christian Couder
2015-06-26 20:59 ` Matthieu Moy
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=vpqsi9alv1l.fsf@anie.imag.fr \
--to=matthieu.moy@grenoble-inp.fr \
--cc=antoine.delaite@ensimag.grenoble-inp.fr \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=mhagger@alum.mit.edu \
--cc=stuberl@ensimag.grenoble-inp.fr \
/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.
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 NNTP newsgroup(s).