From: Linus Torvalds <torvalds@linux-foundation.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: Christian Couder <chriscool@tuxfamily.org>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: Could this be done simpler?
Date: Thu, 25 Jun 2009 15:50:19 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.2.01.0906251544030.3605@localhost.localdomain> (raw)
In-Reply-To: <7vprcsymjd.fsf@alter.siamese.dyndns.org>
On Thu, 25 Jun 2009, Junio C Hamano wrote:
>
> Such a decomposed octopus would _only_ be necessary during bisection, only
> when the user chooses to test two tips at once (instead of testing one by
> one), _and_ only its tree is needed for that purpose. In other words, we
> should be able to do this _without_ creating an extra commit, let alone
> replace mechanism.
Keep in mind, though, that realistically, I don't think we've ever seen
any bisection attempts that end at an octopus.
Sure, I suspect that being really clever about decomposing an octopus
merge might allow us to bisect things _faster_ to one of the branches
involved in the merge, but the amount of smarts to do that just for that
reason seems pretty outlandish.
And if we ever do end up with an actual bug being bisected to the octopus
merge itself, at that point I don't think it's unreasonable to take the
same approach we do with any normal merge: just try to figure out what the
conflict is all about (clearly it's not a data conflict, since the
octopus wouldn't have succeeded in that case, but subtle merge errors can
be due to two branches each introducing their own assumptions without
actually ever clashing on a source file level).
With regular merges, if you really don't see what the conceptual conflict
is, you could try to do a temporary rebase to try to figure it out, and I
suspect that that is what you'd want to do with an octopus merge too -
rather than try to decompose the octopus merge into multiple simpler
merges, you'd like to try to linearize history and then re-do the
bisection attempt on that totally modified/simplified history.
Linus
next prev parent reply other threads:[~2009-06-25 22:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-24 21:35 Could this be done simpler? Linus Torvalds
2009-06-25 1:04 ` Junio C Hamano
2009-06-25 14:33 ` Randal L. Schwartz
2009-06-25 16:32 ` Matthias Andree
2009-06-25 17:25 ` Junio C Hamano
2009-06-25 21:54 ` Matthias Andree
2009-06-27 0:26 ` Junio C Hamano
2009-06-25 18:32 ` Junio C Hamano
2009-06-25 17:19 ` Michael J Gruber
2009-06-25 22:02 ` Christian Couder
2009-06-25 22:23 ` Christian Couder
2009-06-25 22:29 ` Junio C Hamano
2009-06-25 22:50 ` Linus Torvalds [this message]
2009-06-25 23:17 ` Junio C Hamano
2009-06-25 22:55 ` Christian Couder
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=alpine.LFD.2.01.0906251544030.3605@localhost.localdomain \
--to=torvalds@linux-foundation.org \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox