[evolve] amend: display proper error message while trying to amend non ancestor stable
authorPierre-Yves David <pierre-yves.david@logilab.fr>
Tue, 21 Aug 2012 12:43:21 +0200
branchstable
changeset 476 f17a0f801e0b
parent 475 9f69a5e41ab0
child 477 fded4d945f87
child 488 95ade34b102f
child 499 a9c27df23129
[evolve] amend: display proper error message while trying to amend non ancestor
hgext/evolve.py
tests/test-evolve.t
--- a/hgext/evolve.py	Tue Aug 21 12:42:09 2012 +0200
+++ b/hgext/evolve.py	Tue Aug 21 12:43:21 2012 +0200
@@ -416,6 +416,8 @@
             if old.phase() == phases.public:
                 raise util.Abort(_("can not rewrite immutable changeset %s")
                                  % old)
+            if not repo.revs('%d and (::.)', old):
+                raise error.Abort(_('cannot amend non ancestor changeset'))
             tr = repo.transaction('amend')
             try:
                 oldphase = old.phase()
--- a/tests/test-evolve.t	Tue Aug 21 12:42:09 2012 +0200
+++ b/tests/test-evolve.t	Tue Aug 21 12:43:21 2012 +0200
@@ -238,6 +238,12 @@
   [255]
 
 
+(amend of on ancestors)
+
+  $ hg amend -c 2
+  abort: cannot amend non ancestor changeset
+  [255]
+
   $ hg amend --note 'french looks better'
   1 new unstables changesets
   $ hg log