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

Andreas Freimuth andreas.freimuth at
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:

 \ /   \
  d     dx'

(duplicating x is not very nice)
or, anything with the semantic of
   /   \
 \ /   /
(new merges)

> (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.

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

Andreas Freimuth

More information about the Mercurial-devel mailing list