From: Jonathan Nieder <jrnieder@gmail.com>
To: Marc Branchaud <marcnarc@xiplink.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCHv2] Teach --no-ff option to 'rebase -i'.
Date: Wed, 17 Mar 2010 12:53:20 -0500 [thread overview]
Message-ID: <20100317175320.GA26124@progeny.tock> (raw)
In-Reply-To: <4BA0FBC7.3080305@xiplink.com>
Marc Branchaud wrote:
> If the re-cast topic1 doesn't rewrite those commits, then the merge will
> simply succeed because the code is already identical in both branches.
>
> But if topic1 does rewrite those commits then there'll be a conflict. IMO
> that's correct, because with the merging of topic2 the code in master really
> did diverge in a relevant way from what's in topic1, so that conflict should
> get resolved in the normal way.
Sorry, I did not think it through all the way. Here is an example of
what I meant by trouble. Suppose you have re-cast topic using
rebase --no-ff:
B' --- C' --- D' [topic]
/
| B --- C --- D F [topic2]
|/ \ /
A --- ... --- M --- E ... --- U [master]
topic represents a new feature that was merged prematurely and then
reverted, and topic2 represents some helpful new plumbing.
(introduction of a few functions, maybe).
To take advantage of the changes from F, someone merges topic2 into
topic and builds on it:
.. X --- Y [topic]
/ /
B' --- C' --- D' F [topic2]
/ /
A -- ... -- M --- E ... --- U [master]
Now someone decides it is time to merge topic into master. The
merge-base for Y and U is E, and the result is a that the changes from
topic are reverted.
What I had missed: it would be just as dangerous to simply merge topic2
directly. Merging ‘master’ into ‘topic’ does nothing to prevent that.
The new advice: when using rebase --no-ff this way, be sure to rewrite
_every_ branch that includes those commits but doesn’t include U.
Jonathan
next prev parent reply other threads:[~2010-03-17 17:53 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-16 16:08 [PATCH] Teach --no-ff option to 'rebase -i' Marc Branchaud
2010-03-16 19:19 ` Marc Branchaud
2010-03-16 19:42 ` [PATCHv2] " Marc Branchaud
2010-03-16 21:47 ` Jonathan Nieder
2010-03-17 6:59 ` Johannes Sixt
2010-03-17 15:58 ` Peter Baumann
2010-03-17 16:07 ` Johannes Sixt
2010-03-17 18:42 ` Peter Baumann
2010-03-18 7:08 ` Johannes Sixt
2010-03-18 8:03 ` Peter Baumann
2010-03-17 16:03 ` Marc Branchaud
2010-03-17 16:19 ` Johannes Sixt
2010-03-17 18:10 ` Marc Branchaud
2010-03-22 19:25 ` [PATCH] Test that the 'rebase -i' "reword" command always cherry-picks a commit Marc Branchaud
2010-03-22 20:23 ` Avery Pennarun
2010-03-22 22:06 ` Marc Branchaud
2010-03-22 20:46 ` Junio C Hamano
2010-03-23 14:38 ` Marc Branchaud
2010-03-23 16:19 ` [PATCHv3] Teach -f/--force-rebase option to 'rebase -i' Marc Branchaud
2010-03-23 22:42 ` Junio C Hamano
2010-03-24 15:40 ` [PATCHv4 0/2] Teach the --no-ff " Marc Branchaud
2010-03-24 17:13 ` Junio C Hamano
2010-03-24 20:34 ` [PATCHv5] Teach rebase the --no-ff option Marc Branchaud
2010-03-24 21:45 ` Junio C Hamano
2010-03-24 15:41 ` [PATCH 1/2] Teach 'rebase -i' to accept and ignore the -f/--force-rebase option Marc Branchaud
2010-03-24 15:41 ` [PATCH 2/2] Teach the --no-ff option to 'rebase -i' Marc Branchaud
2010-03-24 19:06 ` Junio C Hamano
2010-03-23 19:16 ` [PATCH] Test that the 'rebase -i' "reword" command always cherry-picks a commit Jonathan Nieder
2010-03-22 22:09 ` Jonathan Nieder
2010-03-17 15:56 ` [PATCHv2] Teach --no-ff option to 'rebase -i' Marc Branchaud
2010-03-17 17:53 ` Jonathan Nieder [this message]
2010-03-17 18:13 ` Jonathan Nieder
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=20100317175320.GA26124@progeny.tock \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=marcnarc@xiplink.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 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.