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 15:25:13 CDT 2013

2013/5/17 Matt Mackall <mpm at selenic.com>

> On Fri, 2013-05-17 at 13:12 -0300, André Felipe Dias wrote:
> > Hi,
> >
> > I understand why the '--parent' option in the hg backout command was
> turned
> > DEPRECATED in http://selenic.com/hg/rev/1209de02034e However, the term
> > DEPRECATED suggests that there is a better solution or command for the
> > problem, but there is not since its flaws are inherent to DVCS in general
> > due to the DAG itself.
> Lots of projects use 'deprecated' to mean 'we are removing this feature
> '. This is not how we do things in Mercurial. Instead, 'deprecated'
> means 'we are hiding this feature from all new users'. But in neither
> usage is "..and there's a better way to do it" a necessary implication.

> > Wouldn't it be better to change '--parent' status to something like a
> > WARNING and complement the '-v' help text? In this post
> > http://schacon.github.io/git/howto/revert-a-faulty-merge.txt there is a
> > good analysis of the problem that could be helpful.
> To un-deprecate it, you'll have to show us a non-broken use case.
> --
> Mathematics is the supreme nostalgia of our time.

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

This is misinformation! The backout command can fix it through the
'--parent' option, but there are implications. I think the help text should
point this out instead of hide this information.

In short, the '--parent' option should be un-deprecated because it is
absolutely necessary in some quite specific situations and there isn't
another choice. The current help text doesn't make this clear. Instead, it
points to a wrong direction!

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

More information about the Mercurial-devel mailing list