From: Michael Haggerty <mhagger@alum.mit.edu>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jacopo Notarstefano <jacopo.notarstefano@gmail.com>,
Git Mailing List <git@vger.kernel.org>,
Christian Couder <christian.couder@gmail.com>
Subject: Re: An idea for "git bisect" and a GSoC enquiry
Date: Thu, 13 Mar 2014 18:19:35 +0100 [thread overview]
Message-ID: <5321E8A7.3080907@alum.mit.edu> (raw)
In-Reply-To: <xmqqmwgvmfpk.fsf@gitster.dls.corp.google.com>
On 03/12/2014 07:31 PM, Junio C Hamano wrote:
> Jacopo Notarstefano <jacopo.notarstefano@gmail.com> writes:
>
>> On Mon, Mar 3, 2014 at 7:34 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>> I think you fundamentally cannot use two labels that are merely
>>> "distinct" and bisect correctly. You need to know which ones
>>> (i.e. good) are to be excluded and the other (i.e. bad) are to be
>>> included when computing the "remaining to be tested" set of commits.
>>
>> Good point. Yes, this isn't viable.
>
> But if you make them into --no-longer-X vs --still-X, then it will
> be viable without us knowing what X means.
Yes, but who wants to type such long and inelegant option names?
It seems to me that we can infer which mark is which from the normal
bisect user interaction. At the startup phase of a bisect, there are
only three cases:
1. There are fewer than two different types of marks on tested commits.
For example, maybe one commit has been marked "bad". Or two commits
have both been marked "slow". In this case we wait for the user to
choose another commit manually, so we don't have to know the meaning
of the mark.
2. There are two different types of marks, but no commits with
differing marks are ancestors of each other. In this case, we pick
the merge base of two commits with differing marks and present it
to the user for testing. But we can do that without knowing which
mark is "before the change" and which mark means "after the
change". So just defer the inference.
3. There are two different types of marks, and a commit with one mark
is an ancestor of a commit with the other mark. In this case, it is
clear from the ancestry which mark means "before the change" and
which mark means "after the change". So record the "orientation" of
the marks and continue like in the old days.
Of course, there are still details to be worked out, like how to tag the
commits before we know which mark means what. But that is just a
clerical problem, not a fundamental one.
Michael
--
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/
next prev parent reply other threads:[~2014-03-13 17:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-26 8:28 An idea for "git bisect" and a GSoC enquiry Jacopo Notarstefano
2014-02-26 19:58 ` Junio C Hamano
2014-02-28 9:00 ` Jacopo Notarstefano
2014-02-27 11:18 ` Michael Haggerty
2014-02-27 12:09 ` Matthieu Moy
2014-02-28 9:03 ` Jacopo Notarstefano
2014-02-28 18:31 ` Junio C Hamano
2014-03-01 11:31 ` Jacopo Notarstefano
2014-03-03 18:34 ` Junio C Hamano
2014-03-12 1:32 ` Jacopo Notarstefano
2014-03-12 18:31 ` Junio C Hamano
2014-03-13 17:19 ` Michael Haggerty [this message]
2014-03-13 18:47 ` Junio C Hamano
[not found] ` <CAL0uuq3TGb2wjaqNxwXYa++E5rjVoozox5mZbzTaE17OKtsVTg@mail.gmail.com>
[not found] ` <a8cf74b4-bae1-4511-a45e-d4ca90e3c3e1@email.android.com>
2014-02-28 9:07 ` Jacopo Notarstefano
2014-02-28 9:13 ` Jacopo Notarstefano
2014-02-27 14:47 ` Christian Couder
2014-02-27 22:46 ` Andrew Ardill
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=5321E8A7.3080907@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jacopo.notarstefano@gmail.com \
/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).