From: Christian Couder <chriscool@tuxfamily.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Andreas Ericsson <ae@op5.se>, Jeff Garzik <jeff@garzik.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Bill Lear <rael@zopyra.com>, Jon Seymour <jon.seymour@gmail.com>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>
Subject: Re: Article about "git bisect run" on LWN
Date: Sat, 7 Feb 2009 05:41:29 +0100 [thread overview]
Message-ID: <200902070541.29955.chriscool@tuxfamily.org> (raw)
In-Reply-To: <200902060623.16046.chriscool@tuxfamily.org>
Le vendredi 6 février 2009, Christian Couder a écrit :
> Le jeudi 5 février 2009, Ingo Molnar a écrit :
>
> > - Feature: better "git bisect next" support.
>
> You probably mean "git bisect skip" here.
>
> > Sometimes a commit wont build. In that case we have "git bisect
> > next", but last i checked that only jumps a single commit - and build
> > breakages often have a large scope - full trees that got merged
> > upstream, etc. Most of the time those build breakages are uninteresting
> > and the build-broken window does not contain the bad commit.
> >
> > So it would be nice to have a "git bisect next --left=20%" type of
> > feature. This would jump 20% commits to the "left" from the bisection
> > point, towards the 'known bad' set of commits, but still within the
> > bisection window.
> >
> > Similarly, "git bisect next --right=20%" would jump towards the
> > known-good edge of the bisection window (but still within the bisection
> > window).
>
> In the following thread, H. Peter Anvin suggested an algorithm to deal
> with this kind of problem:
>
> http://thread.gmane.org/gmane.comp.version-control.git/98164/
>
> And I suggested a simpler one, that might be implemented without having
> to port "git bisect skip" code to C first, but I did not work on it yet.
>
> > Currently when i hit a build error during auto-bisection, it aborts
> > and i have to intervene manually. But with a bigger jump distance i
> > could use git-bisect-next reliably in scripts too.
> >
> > Likewise, users too hit build breakages often, and find it hard to
> > get out of the window of breakage. With the high-order tree structure
> > of the kernel repository that is rather non-intuitive to do as well,
> > and often people make mistakes and test the wrong commit.
>
> I am working slowly on "git replace" these days and, if everything goes
> well, it should make it possible to use "replace" refs when bisecting, so
> that people could bisect on commit trees where many breakages have been
> removed. And as refs can be shared, this means that users and developers
> should be able to easily share these improved trees.
>
> Another way to work around breakages could be to have a list of commits
> and ranges of commits that should always be skipped and always pass them
> to "git bisect skip" before using "git bisect run". Something like that
> perhaps:
>
> $ git bisect start <bad> <good>
> $ git bisect skip $(cat always_skipped.txt)
> $ git bisect run ./my_test_script.sh
It might be useful to have a list of always good commits too, and use it
like this:
$ git bisect start <bad> <good> $(cat always_good.txt)
$ git bisect skip $(cat always_skipped.txt)
$ git bisect run ./my_test_script.sh
or you may want to use grafts in your bisection repository. See the
following thread about bisection breakage in the btrfs history:
http://thread.gmane.org/gmane.comp.version-control.git/105186/
Regards,
Christian.
next prev parent reply other threads:[~2009-02-07 4:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-05 6:47 Article about "git bisect run" on LWN Christian Couder
2009-02-05 13:34 ` Bill Lear
2009-02-05 14:13 ` Ingo Molnar
2009-02-06 2:42 ` david
2009-02-06 1:46 ` Ingo Molnar
2009-02-06 1:52 ` Ingo Molnar
2009-02-06 5:23 ` Christian Couder
2009-02-07 4:41 ` Christian Couder [this message]
2009-02-07 12:55 ` David Symonds
2009-02-07 18:09 ` Christian Couder
2009-02-07 18:16 ` Junio C Hamano
2009-02-09 12:19 ` Ingo Molnar
2009-02-09 13:15 ` Johannes Schindelin
2009-02-09 21:03 ` David Symonds
2009-02-10 6:12 ` Christian Couder
2009-02-05 16:23 ` Jonathan Corbet
2009-02-05 20:54 ` Christian Couder
2009-02-06 2:49 ` david
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=200902070541.29955.chriscool@tuxfamily.org \
--to=chriscool@tuxfamily.org \
--cc=Johannes.Schindelin@gmx.de \
--cc=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jeff@garzik.org \
--cc=jon.seymour@gmail.com \
--cc=mingo@elte.hu \
--cc=rael@zopyra.com \
--cc=torvalds@linux-foundation.org \
/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).