[PATCH] backout: add example of backing out a merge changeset

Mathias De Maré mathias.demare at gmail.com
Thu Oct 1 05:26:28 UTC 2015


On Wed, Sep 30, 2015 at 6:57 PM, Matt Mackall <mpm at selenic.com> wrote:

> On Wed, 2015-09-30 at 08:51 +0200, Mathias De Maré wrote:
> > On Wed, Sep 30, 2015 at 8:29 AM, Pierre-Yves David <
> > pierre-yves.david at ens-lyon.org> wrote:
> >
> > >
> > >
> > > On 09/29/2015 10:35 PM, Mathias De Maré wrote:
> > >
> > >> # HG changeset patch
> > >> # User Mathias De Maré <mathias.demare at gmail.com>
> > >> # Date 1443590812 -7200
> > >> #      Wed Sep 30 07:26:52 2015 +0200
> > >> # Node ID 5a00a9ab705848b7de45b4263ed0bbab29494e29
> > >> # Parent  46af0adb5c375cc51ce0d29cbdcd8ba843a33425
> > >> backout: add example of backing out a merge changeset
> > >>
> > >
> > > How does this cope with:
> > >
> > >     Note:
> > >       backout cannot be used to fix either an unwanted or incorrect
> merge.
> > >
> > > Did you read previous discussion on the topic?
> >
> > I found the following about the topic:
> > https://selenic.com/pipermail/mercurial-devel/2011-October/034559.html
> > The issues described are when you have 2 valid branches and the merge
> > between them goes wrong.
> > But what I describe here is when one of the branches is bad (and all the
> > changes on it are bad), while the other branch is good.
> > In that case, I would like to apply the inverse of the branch, and it
> seems
> > to be like that would indeed solve my issue.
> >
> > Matt describes here (see the last example) the issue of backing out an
> > entire merge:
> > https://selenic.com/pipermail/mercurial-devel/2011-October/034569.html
> >
> > > In other words, you just turned a broken real merge into a dummy merge,
> > > which is probably not what you wanted.
> > >
> > > In fact, that is what I wanted. I agree that a backout of a merge is a
> > broken concept in some of the cases, but I believe it is a valid concept
> > for the case I'm describing.
> > Perhaps I'm missing something here?
>
> We don't want to even mention merge in the backout docs because people
> will try to do something it can't really do and compound the damage on
> their DAG.
>
That does make sense.
I was trying to think of a way to make it possible to clarify my use case
without risking people incorrectly using backout, but it seems like a
difficult exercise.
One possibility would be to change the note (not sure if the above is a
good choice).
Currently:
    Note:
      backout cannot be used to fix either an unwanted or incorrect merge.

Alternative:
    Note:
      Backout cannot be used to fix either an unwanted or incorrect merge.
It
      can be used in the case where the changes on one side of a merge are
      wrong and need to be removed.


>
> It's pretty easy to just use revert to make a dummy merge, no?
>
Yes, that's true, but it's not quite as obvious as doing a backout.

Greetings,
Mathias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20151001/3cff8e06/attachment.html>


More information about the Mercurial-devel mailing list