Re: [PATCH v2 04/13] Teach rebase interactive the mark command
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Apr 29, 2008, 07:12 UTC
- Message-ID
- <4816CA72.8070405@viscovery.net>
- In-Reply-To
- <7vk5ih8ckp.fsf@gitster.siamese.dyndns.org>
Junio C Hamano schrieb:
Show 17 quoted lines
> This is just a minor syntax issue and I am not sure why we got into this > misunderstanding, but let's try again. Suppose you want to recreate this > history on top of a different O'. For merges, upper parents are earlier > ones: > > A reset O' > / \ pick B > / X reset O' > / / \ pick A > O---B Z merge B -- recreate X > \ \ / reset O' > \ Y pick C > \ / merge B? -- recreate Y > C reset B -- go back to recreated X > merge B? -- recreate Z > > The above sequence does not work.
Because it is hand-crafted. I'd expect rebase to suggest a series that works as long as the user doesn't modify it. Like this:
reset O' pick C reset O' pick B merge C -- recreate Y reset O' pick A merge B -- recreate X merge Y -- recreate Z
Here all commit names are clearly the original in the first insn that references it, and the rewritten version in later references. No marks needed.
If the user modifies the insns, he better knows what he's doing, in particular, when it's necessary to rebuild such complex histories.
-- Hannes