evolve: treat no support as non fatal
authortimeless@gmail.com
Thu, 14 Apr 2016 15:02:10 +0000
changeset 1638 5b7596805f7f
parent 1637 078e6777ac15
child 1639 ff0ff0f28a13
evolve: treat no support as non fatal When running evolve --all, unhandled edges should not block other revisions from being solved.
hgext/evolve.py
tests/test-unstable.t
--- a/hgext/evolve.py	Wed Apr 13 23:36:44 2016 +0000
+++ b/hgext/evolve.py	Thu Apr 14 15:02:10 2016 +0000
@@ -1876,10 +1876,12 @@
         if not pctx.obsolete():
             pctx = orig.p2()  # second parent is obsolete ?
         elif orig.p2().obsolete():
-            raise error.Abort(_("no support for evolving merge changesets "
-                                "with two obsolete parents yet"),
-                              hint=_("Redo the merge and use `hg prune <old> "
-                                   "--succ <new>` to obsolete the old one"))
+            hint = _("Redo the merge and use `hg prune <old> "
+                     "--succ <new>` to obsolete the old one")
+            ui.warn(_("warning: no support for evolving merge changesets "
+                      "with two obsolete parents yet\n") +
+                    _("(%s)\n") % hint)
+            return False
 
     if not pctx.obsolete():
         ui.warn(_("cannot solve instability of %s, skipping\n") % orig)
--- a/tests/test-unstable.t	Wed Apr 13 23:36:44 2016 +0000
+++ b/tests/test-unstable.t	Thu Apr 14 15:02:10 2016 +0000
@@ -154,9 +154,8 @@
   
 
   $ hg evo --all --any --unstable
-  abort: no support for evolving merge changesets with two obsolete parents yet
+  warning: no support for evolving merge changesets with two obsolete parents yet
   (Redo the merge and use `hg prune <old> --succ <new>` to obsolete the old one)
-  [255]
   $ hg log -G
   @  5:2db39fda7e2f@default(draft) cprime
   |