changeset 476:f17a0f801e0b stable

[evolve] amend: display proper error message while trying to amend non ancestor
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Tue, 21 Aug 2012 12:43:21 +0200
parents 9f69a5e41ab0
children fded4d945f87 95ade34b102f a9c27df23129
files hgext/evolve.py tests/test-evolve.t
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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