diff hgext/evolve.py @ 1354:b4a62d6f0353

evolve: don't crash on singled out revisions Before this patch, we were crashing on unsolvable revisions when using evolve --rev. This patch removes the crash and prints a warning when we encounter such revision.
author Laurent Charignon <lcharignon@fb.com>
date Mon, 01 Jun 2015 12:29:12 -0700
parents 69e5de3e6129
children 3bb7a080da4d
line wrap: on
line diff
--- a/hgext/evolve.py	Mon Jun 01 10:58:50 2015 -0700
+++ b/hgext/evolve.py	Mon Jun 01 12:29:12 2015 -0700
@@ -1398,9 +1398,12 @@
                    progresscb=None):
     """Stabilize a unstable changeset"""
     obs = orig.parents()[0]
-    if not obs.obsolete():
+    if not obs.obsolete() and len(orig.parents()) == 2:
         obs = orig.parents()[1] # second parent is obsolete ?
-    assert obs.obsolete()
+
+    if not obs.obsolete():
+        ui.warn("cannot solve instability of %s, skipping\n" % orig)
+        return False
     newer = obsolete.successorssets(repo, obs.node())
     # search of a parent which is not killed
     while not newer or newer == [()]: