From: Yann Dirson <dirson@bertin.fr>
To: git list <git@vger.kernel.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Subject: Re: [PATCH] Document 'git bisect fix'.
Date: Tue, 15 Mar 2011 11:16:20 +0100 [thread overview]
Message-ID: <20110315111620.73108597@chalon.bertin.fr> (raw)
In-Reply-To: <20110314210001.GE4586@gmx.de>
Hi Ralf,
Maybe you should have made it more obvious that this patch is a RFC
for a proposed feature (say, in subject line).
>'git bisect fix' teaches bisect about when some known bug was
>introduced and when it was fixed, so that bisect can merge in
>the fix when needed into new test candidates.
This sounds like a great idea. I do have myself to do conditional
cherry-picks from bisect scripts, to deal with this problem.
>If some bug was fixed by a merge only, the more general notation
>"f_1 ^b_1 ^b_1' ..." could apply.
Some more precise example may make this case more clear.
+Fixing up known bugs
+~~~~~~~~~~~~~~~~~~~~
+
+If many revisions are broken due to some unrelated but known issue that
+is easily fixed, you might want to prefer fixing it up temporarily.
It seems natural for "bisect run" to use this mechanism. What about
the non-automated process ? We may want to get the fixes applied, or
to only list available fixes to the user so he can "git merge" them
manually, or maybe an interactive selection mode ? Probably something
to be chosen via some config variable and flags, in a separate patch
of the would-be series. But what happens initially will be a good thing
to document.
+If `<commit1>` introduces a bug fixed by `<commit2>`, instruct bisect
+to merge the latter before testing a commit that contains the former:
+
+------------
+$ git bisect fix <commit1>..<commit2>
+------------
Usually, a bug also gets fixed by an official commit which does not
fulfill the constraint of being branched at the faulty one. In this
case you don't want to merge the fix if such a fix is already included,
and thus you will need a way to specify "alternate fixes" to control
this.
+A single `<commit>` acts as if `<commit>^..<commit>` was specified.
+Fix statements can be repeated for every known bug, and are valid until
+the bisection state is cleaned up with reset.
That is on the safe side, but we may at some point want some sort of
"repository of fixes", where this info gets stored for easy reuse on
subsequent bisections.
+Any bisect action that causes a new commit to be chosen will try to merge
+the needed fixes and fail if they do not merge cleanly.
maybe "... similar to what happens when a bisect-run script terminates with exit code
greated than 127." ?
--
Yann Dirson - Bertin Technologies
next prev parent reply other threads:[~2011-03-15 10:35 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20110311165802.GA3508@intel.com>
[not found] ` <4D7A64670200007800035F4C@vpn.id2.novell.com>
[not found] ` <AANLkTikG8wa1Em0bEUddbYpYs2TzFFTDb95qWFJ3xSbv@mail.gmail.com>
[not found] ` <4D7DE39302000078000362E6@vpn.id2.novell.com>
[not found] ` <20110314095534.GB18058@elte.hu>
[not found] ` <20110314104131.GG6275@bubble.grove.modra.org>
[not found] ` <20110314122342.GA26825@elte.hu>
2011-03-14 13:16 ` git bisect plus fixes (was: PATCH: Add --size-check=[error|warning]) Ralf Wildenhues
2011-03-14 13:47 ` [PATCH] git-bisect.txt: example for bisecting with hotfix Michael J Gruber
2011-03-14 17:35 ` Junio C Hamano
2011-03-15 21:24 ` [PATCHv2 1/2] git-bisect.txt: streamline run presentation Michael J Gruber
2011-03-15 21:24 ` [PATCHv2 2/2] git-bisect.txt: example for bisecting with hot-fix Michael J Gruber
2011-03-14 21:00 ` [PATCH] Document 'git bisect fix' Ralf Wildenhues
2011-03-15 10:16 ` Yann Dirson [this message]
2011-03-16 9:52 ` Christian Couder
2011-03-16 11:47 ` Michael J Gruber
2011-03-16 20:35 ` Junio C Hamano
2011-03-16 13:34 Yann Dirson
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=20110315111620.73108597@chalon.bertin.fr \
--to=dirson@bertin.fr \
--cc=Ralf.Wildenhues@gmx.de \
--cc=git@vger.kernel.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).