corrected ascii-art; Re: Disable backing out merges?

Andreas Freimuth andreas.freimuth at united-bits.de
Tue Oct 11 06:32:00 CDT 2011


On 11.10.2011 08:12, Arne Babenhauserheide wrote:
> 
> a-b-c-x ← broken
>  \ /
>   d
> 
> A backout of c would need to make x a valid changeset, so it would actually 
> have to 
> (a) rebase x on b or d und then close c-x, or cleaner but more complex
If you craete an x' based on b _or_ d you would (for my understanding)
just do half of an backout. x is based on both, and that should not
change. So a backout of c would need to create:

a-b-c-x-bx'
 \ /   \
  d     dx'

(duplicating x is not very nice)
or, anything with the semantic of
    ___
   /   \
a-b-c-x-x'
 \ /   /
  d---'
(new merges)
But..

> (b) do a new merge of d and b, rebase x on it and then merge x with that, 
> discarding the changes from x.
Doing a new merge would be a fix, not a backout. So trying a backout of
a merge should suggest how to fix the broken merge.

a-b-c-x-N
 \ X \ /
  d-G-G'
(c=broken; G=Good merge; G'= copy G; N=head of the fixed tree)

-- 
Andreas Freimuth


More information about the Mercurial-devel mailing list