About changing the status of the --parent option of the hg backout command from DEPRECATED to WARNING

André Felipe Dias andref.dias at gmail.com
Fri May 17 18:39:47 CDT 2013

2013/5/17 Matt Mackall <mpm at selenic.com>
> >
> > I don't think the existence of a non-broken use case is essential or
> > even possible. Simply, there is no alternative sometimes! As in a
> > wrong merge between an incomplete feature branch and the default
> > branch. Yes, there will be implications, but they are unavoidable and
> > inherent to DVCS and not a hg's limitation.
> >
> >
> > When a situation like this occurs and a user searches for a solution,
> > the backout command is the best shot but its help says:
> >
> >
> >     "Note: backout cannot be used to fix either an unwanted or
> > incorrect merge."
> > This is misinformation! The backout command can fix it through the
> > '--parent' option, but there are implications.
> And the "implications" here are that it doesn't actually fix anything
> and leaves you with more problems than you started with.

Still, this problem eventually happens and thus needs a solution. What do
you recommend?

> In other words, I stand by the original statement. That's further backed
> by most of a decade of experience of fielding reports from numerous
> people who've gone down that road.
> >  I think the help text should point this out instead of hide this
> > information.
> In my judgment, a (perforce) complicated explanation in the help will
> simply result in more people shooting themselves in the foot. Indeed,

Agreed. It is an advanced topic to a very specific situation.
Nevertheless, some
orientation is needed.

> the fact that you think this feature is somehow still useful for fixing
> merges after having researched it is good evidence of the theory that
> more information is not necessarily better for usability.

If this feature isn't useful for fixing merges, what is it then?
For example, suppose the following situation where a feature-x branch was
prematurely merged into default by mistake. It is not possible to back out
just one revision of feature-x branch nor immediatly finish feature-x
directly in default. How to revert the default branch to a consistent state
after the fact?

 ---o---o---o---M   } default
   ---o---o---o     } feature-x

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20130517/20b3d9e7/attachment.html>

More information about the Mercurial-devel mailing list