From: Jeff King <peff@peff.net>
To: Andrew Wong <andrew.w@sohovfx.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [BUG] rebase -p loses commits
Date: Tue, 17 May 2011 01:44:32 -0400 [thread overview]
Message-ID: <20110517054432.GC10048@sigill.intra.peff.net> (raw)
In-Reply-To: <4DD1C277.9070605@sohovfx.com>
On Mon, May 16, 2011 at 08:33:59PM -0400, Andrew Wong wrote:
> On 05/16/2011 04:36 PM, Junio C Hamano wrote:
> > F---* feature
> > / /
> > B---M master
> >
> >But what does it mean to rebase that on top of master, preserving merges
> >in the first place? You are already on top of 'master' and '*' itself
> >should be what you should get, no? IOW, shouldn't you already be
> >up-to-date?
> Since preserve-merge uses the interactive-rebase, I think
> interactive-rebase should still pick the merge commit, which will
> then be consistent with what's happening if we rebase onto "F". So,
> without knowing whether "F" or "M" is the first-parent, I think
> interactive-rebase onto "F" and onto "M" should have the same effect.
> i.e. interactive-rebase picks the merge commit
Is it really the first-parentness here that is important to the
asymmetry? I thought it was more the fact that "feature" has the merge,
but "master" does not.
Therefore, "git rebase -p master feature" knows that there is nothing to
do; we already contain all of "master".
But "git rebase -p feature master" sees that we have an extra commit in
"feature" not in "master", and therefore we must attempt to rewrite on
top of that merge commit. Of course, when we try to do so, there are no
commits that are not already on "feature", so there is nothing to
rewrite.
So the outcomes are the same, but the reasoning is different. And isn't
that what happens with Junio's patch (I tried a simple test and it
seemed to be)?
-Peff
next prev parent reply other threads:[~2011-05-17 5:44 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-16 10:33 [BUG] rebase -p loses commits Jeff King
2011-05-16 19:42 ` Andrew Wong
2011-05-16 20:36 ` Junio C Hamano
2011-05-17 0:33 ` Andrew Wong
2011-05-17 0:54 ` Junio C Hamano
2011-05-17 1:02 ` Junio C Hamano
2011-05-17 5:44 ` Jeff King [this message]
2011-05-17 16:07 ` Andrew Wong
2011-05-17 16:12 ` Jeff King
2011-05-21 5:51 ` [RFC] Interactive-rebase doesn't pick all children of "upstream" Andrew Wong
2011-05-21 5:51 ` Andrew Wong
2011-05-21 7:34 ` Andrew Wong
2011-06-05 5:32 ` [PATCH] " Andrew Wong
2011-06-05 9:16 ` Johannes Sixt
2011-06-05 14:11 ` Andrew Wong
2011-06-07 4:08 ` [PATCH v2] rebase -i -p: doesn't pick certain merge commits that are " Andrew Wong
2011-06-07 4:08 ` [PATCH] " Andrew Wong
2011-06-12 16:28 ` Andrew Wong
2011-06-13 16:01 ` Junio C Hamano
2011-06-13 17:30 ` Andrew Wong
2011-06-16 22:24 ` Stephen Haberman
2011-06-18 6:40 ` Andrew Wong
2011-06-18 15:17 ` Stephen Haberman
2011-06-18 16:47 ` Andrew Wong
2011-06-18 17:12 ` Stephen Haberman
2011-06-18 22:12 ` [PATCH] rebase -i -p: include non-first-parent commits in todo list Andrew Wong
2011-06-18 22:13 ` [PATCH] rebase -i -p: doesn't pick certain merge commits that are children of "upstream" Andrew Wong
2011-05-17 5:39 ` [BUG] rebase -p loses commits Jeff King
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=20110517054432.GC10048@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=andrew.w@sohovfx.com \
--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;
as well as URLs for NNTP newsgroup(s).