Re: [PATCH] rebase with preserve merges should not show merged commits
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Mar 22, 2008, 01:33 UTC
- Message-ID
- <alpine.LSU.1.00.0803220231020.4124@racer.site>
- In-Reply-To
- <1206148785-29466-1-git-send-email-joerg@alea.gnuu.de>
Hi,
On Sat, 22 Mar 2008, Jörg Sommer wrote:
Show 11 quoted lines
> The current version of git-rebase--interactive shows the user the > commits coming from a merge. > > M---A---B > \ \ > o---o---+---o branch > > Rebasing branch on M with preserve merges gives the commits A and B. But > if you mark them for editing or remove them the rebase fails. You must > keep them as they are. It's useless to bother the user with these > commits and might lead to mistakes.
I don't understand. Rebasing with "rebase --onto <something else> M" _should_ show A and B.
Besides, I think that this would break exactly that case:
Show 6 quoted lines
> @@ -523,7 +525,7 @@ do > SHORTONTO=$(git rev-parse --short $ONTO) > git rev-list $MERGES_OPTION --pretty=oneline --abbrev-commit \ > --abbrev=7 --reverse --left-right --cherry-pick \ > - $UPSTREAM...$HEAD | \ > + --first-parent $UPSTREAM...$HEAD | \
If I am not mistaken, you now mark A and B to be _not_ in the list of commits all of a sudden, even if A and B _are_ reachable from "branch", but not from "M".
So I think this is exactly one of the cases which made me unsure if your expectation was always right.
IOW I think this is _very_ easy to get wrong, and needs careful thought.
Ciao, Dscho