From: Junio C Hamano <gitster@pobox.com>
To: Kevin Daudt <me@ikke.info>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v4] rev-list: refuse --first-parent combined with --bisect
Date: Wed, 11 Mar 2015 13:13:48 -0700 [thread overview]
Message-ID: <xmqqsidb5m2r.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20150311184512.GB5442@vps892.directvps.nl> (Kevin Daudt's message of "Wed, 11 Mar 2015 19:45:12 +0100")
Kevin Daudt <me@ikke.info> writes:
> On Tue, Mar 10, 2015 at 04:12:18PM -0700, Junio C Hamano wrote:
>
>> What does such a command line _mean_? It tells us this:
>>
>> Define a set by having the "bad" ref as a positive end, and
>> having all the "good" refs as negative (uninteresting) boundary.
>>
>> That is a way to show commits that are reachable from the bad one
>> and excluding the ones that are reachable from any of the known-good
>> commits. The area of the graph in the current bisection that
>> contains suspect commits.
>>
>> Now, what does it mean to pull only the first-parent chain starting
>> from the bad one in such a set in the first place? What does the
>> resulting set of commits mean?
>
> In that case it will leave out any merged in branches.
Needs a bit more thinking (hint: branches merged into *what*?).
> I recalled reading something about this. Searching found me the GSoC
> idea:
>
> When your project is strictly "new features are merged into trunk,
> never the other way around", it is handy to be able to first find a
> merge on the trunk that merged a topic to point fingers at when a
> bug appears, instead of having to drill down to the individual
> commit on the faulty side branch.
>
> So there is definitely a use case for --bisect --first-parent, which
> would show you those commits that would be part of the bisection.
Step back and think why "git bisect --first-parent" is sometimes
desired in the first place.
It is because in the regular bisection, you will almost always end
up on a commit that is _not_ on the first-parent chain and asked to
check that commit at a random place on a side branch in the first
place. And you mark such a commit as "bad".
The thing is, traversing from that "bad" commit that is almost
always is on a side branch, following the first-parent chain, will
not be a useful history that "leaves out any merged in branches".
When "git bisect --first-parent" feature gets implemented, "do not
use --first-parent with --bisect" limitation has to be lifted
anyway, but until then, not allowing "--first-parent --bisect" for
"rev-list" but allowing it for "log" does not buy our users much.
The output does not give us a nice "show me which merges on the
trunk may have caused the breakage to be examined with the remainder
of this bisect session".
So, yes, there is a use case for "log --bisect --first-parent", once
there is a working "bisect --first-parent", but not until then, the
command is not useful, I would think.
next prev parent reply other threads:[~2015-03-11 20:13 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-03 14:19 [BUG] Segfault with rev-list --bisect Troy Moure
2015-03-04 5:33 ` Jeff King
2015-03-04 23:44 ` Junio C Hamano
2015-03-05 2:15 ` Troy Moure
2015-03-07 21:31 ` [PATCH] rev-list: refuse --first-parent combined with --bisect Kevin Daudt
2015-03-07 23:13 ` Kevin Daudt
2015-03-08 8:00 ` Junio C Hamano
2015-03-08 14:18 ` [PATCH v2] " Kevin Daudt
2015-03-08 15:02 ` [PATCH v3] " Kevin Daudt
2015-03-08 15:03 ` Kevin Daudt
2015-03-08 21:58 ` Eric Sunshine
2015-03-09 11:57 ` Kevin Daudt
2015-03-09 20:56 ` [PATCH v4] " Kevin Daudt
2015-03-10 22:09 ` Junio C Hamano
2015-03-10 22:55 ` Kevin Daudt
2015-03-10 23:12 ` Junio C Hamano
2015-03-11 18:45 ` Kevin Daudt
2015-03-11 20:13 ` Junio C Hamano [this message]
2015-03-16 16:33 ` Kevin Daudt
2015-03-16 18:53 ` Junio C Hamano
2015-03-16 20:25 ` Philip Oakley
2015-03-16 21:05 ` Junio C Hamano
2015-03-17 16:09 ` Christian Couder
2015-03-17 18:33 ` Junio C Hamano
2015-03-17 19:49 ` Christian Couder
2015-03-17 20:46 ` Junio C Hamano
2015-03-18 10:36 ` Christian Couder
2015-03-19 23:51 ` Philip Oakley
2015-03-20 13:02 ` Scott Schmit
2015-03-19 22:14 ` [PATCH v5] " Kevin Daudt
2015-03-19 22:43 ` Junio C Hamano
2015-03-21 22:01 ` Kevin Daudt
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=xmqqsidb5m2r.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=me@ikke.info \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.