# HG changeset patch # User Mads Kiilerich # Date 2014-04-17 18:01:39 # Node ID 12312f066d93dcfa2e50e8c9a9f05989ebbbc719 # Parent 40ace21cb3a1716c8c686874dcbca47a53a84964 backout: use commonancestorsheads for checking linear heritage If two revisions are linearly related, there will only be one ancestor, and commonancestors and commonancestorsheads would give the same result. commonancestorsheads is however slightly simpler, faster and more correct. diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -438,7 +438,7 @@ def backout(ui, repo, node=None, rev=Non node = scmutil.revsingle(repo, rev).node() op1, op2 = repo.dirstate.parents() - if node not in repo.changelog.commonancestors(op1, node): + if node not in repo.changelog.commonancestorsheads(op1, node): raise util.Abort(_('cannot backout change that is not an ancestor')) p1, p2 = repo.changelog.parents(node)