From: Ealdwulf Wuffinga <ealdwulf@googlemail.com>
To: Clemens Buchacher <drizzd@aon.at>
Cc: Christian Couder <chriscool@tuxfamily.org>,
"H. Peter Anvin" <hpa@zytor.com>, Sam Vilain <sam@vilain.net>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: RFE: "git bisect reverse"
Date: Wed, 27 May 2009 23:07:50 +0100 [thread overview]
Message-ID: <efe2b6d70905271507s187babe9yf19a25268ab0b95e@mail.gmail.com> (raw)
In-Reply-To: <20090527211836.GA14841@localhost>
On Wed, May 27, 2009 at 10:18 PM, Clemens Buchacher <drizzd@aon.at> wrote:
> On Wed, May 27, 2009 at 10:11:35PM +0100, Ealdwulf Wuffinga wrote:
>> >> Sam Vilain wrote:
>> >> > Oh, yes. And another thing: 'git bisect run' / 'git bisect skip'
>> >> > doesn't do a very good job of skipping around broken commits (ie when
>> >> > the script returns 126). It just seems to move to the next one; it
>> >> > would be much better IMHO to first try the commit 1/3rd of the way into
>> >> > the range, then if that fails, the commit 2/3rd of the way through it,
>> >> > etc.
>>
>> As I understand it, the idea is that the probability that a commit is
>> broken is greater if it is close in the DAG to a known-broken commit.
>> I wonder if this can be made more concrete? Can we derive a formula
>> for, or collect empriical data on, these probabilities?
>
> No. The idea is that we want to reduce to bisect as close to the middle as
> possible so we only have to do log2(n) tests. But if a commit is skipped,
> that means we cannot decide whether the test passes or fails for this
> commit. But if we choose a commit close to the skipped one, we will likely
> have to skip the that one for the same reason.
You say 'no', but your explanation does not appear to contradict what
I have said.
I am not sure what you are disagreeing with?
I agree, the whole point is to do the bisection in as few tests as possible.
This means that the test must gain the maximum information possible,
which in the
deterministic case (git-bisect) means testing in the middle. For the
non-deterministic case,
in bbchop, I directly calculate the information gain of each potential
test, then choose the greatest.
The question is how to avoid skips, which gain no information. You say
'if we choose a commit close to the skipped one, we will likely have
to skip the that one'. This is what I meant by 'the idea is that the
probability that a commit is broken is greater if it is close in the
DAG to a known-broken commit'. Maybe you are reading this as 'bad
commit', but this is not the sense in which Sam is using the term.
For git-bisect, Sam and H Peter are proposing a heuristic to trade off
between information gained and likelihood of testing a bad commit. For
bbchop, I am already doing calculating the information gain directly,
so if I can incorporate the probability that a commit is broken - has
to be skipped - then the trade-off will happen automatically.
Therefore it would be useful to have some plausible theory as to how
the probability of a broken commit should be calculated, given some
known-broken and known-not-broken commits.
Ealdwulf
next prev parent reply other threads:[~2009-05-27 22:08 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-26 22:21 RFE: "git bisect reverse" H. Peter Anvin
2009-05-27 3:00 ` Sam Vilain
2009-05-27 4:20 ` H. Peter Anvin
2009-05-27 5:26 ` Christian Couder
2009-05-27 21:11 ` Ealdwulf Wuffinga
2009-05-27 21:18 ` Clemens Buchacher
2009-05-27 22:07 ` Ealdwulf Wuffinga [this message]
2009-05-27 23:08 ` Sam Vilain
2009-05-28 20:29 ` Ealdwulf Wuffinga
2009-05-29 4:20 ` Sam Vilain
2009-05-31 22:41 ` Ealdwulf Wuffinga
2009-05-28 3:11 ` H. Peter Anvin
2009-05-28 21:07 ` Ealdwulf Wuffinga
2009-05-28 21:54 ` H. Peter Anvin
2009-05-31 22:18 ` Ealdwulf Wuffinga
2009-05-27 20:11 ` Christian Couder
2009-05-27 8:22 ` Nanako Shiraishi
2009-05-27 20:26 ` 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=efe2b6d70905271507s187babe9yf19a25268ab0b95e@mail.gmail.com \
--to=ealdwulf@googlemail.com \
--cc=chriscool@tuxfamily.org \
--cc=drizzd@aon.at \
--cc=git@vger.kernel.org \
--cc=hpa@zytor.com \
--cc=sam@vilain.net \
/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).