evolve: treat no support as non fatal
When running evolve --all, unhandled edges should not block other
revisions from being solved.
--- 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
|