hgext3rd/evolve/evolvecmd.py
changeset 4590 784ad6f60571
parent 4589 5ba885e2ef5e
child 4591 9242b05eb593
--- a/hgext3rd/evolve/evolvecmd.py	Tue Apr 23 11:02:08 2019 -0700
+++ b/hgext3rd/evolve/evolvecmd.py	Fri Apr 19 10:41:56 2019 -0700
@@ -981,25 +981,19 @@
 
     tr = repo.currenttransaction()
     assert tr is not None
-    try:
-        r = _evolvemerge(repo, orig, dest, pctx, keepbranch)
-        if compat.hasconflict(r): # some conflict
-            raise error.Abort(_('unresolved merge conflicts '
-                                '(see hg help resolve)'))
-        nodenew = _relocatecommit(repo, orig, commitmsg)
-    except error.Abort as exc:
+    r = _evolvemerge(repo, orig, dest, pctx, keepbranch)
+    if compat.hasconflict(r): # some conflict
         with repo.dirstate.parentchange():
             repo.setparents(dest.node(), orig.node())
             repo.dirstate.write(tr)
             # fix up dirstate for copies and renames
-            copies.duplicatecopies(repo, repo[None], dest.rev(), orig.p1().rev())
+            copies.duplicatecopies(repo, repo[None], dest.rev(),
+                                   orig.p1().rev())
             dirstatedance(repo, dest, orig.node(), None)
-
-        class LocalMergeFailure(MergeFailure, exc.__class__):
-            pass
-        exc.__class__ = LocalMergeFailure
-        tr.close() # to keep changes in this transaction (e.g. dirstate)
-        raise
+            tr.close() # to keep changes in this transaction (e.g. dirstate)
+        raise MergeFailure(_('unresolved merge conflicts '
+                             '(see hg help resolve)'))
+    nodenew = _relocatecommit(repo, orig, commitmsg)
     _finalizerelocate(repo, orig, dest, nodenew, tr, category, evolvestate)
     return nodenew