mercurial/merge.py
changeset 45544 2b339c6c6e99
parent 45525 590a840fa367
child 45557 2c86b9587740
--- a/mercurial/merge.py	Fri Sep 18 17:19:49 2020 +0530
+++ b/mercurial/merge.py	Mon Sep 21 09:56:48 2020 -0700
@@ -2159,6 +2159,23 @@
     return stats
 
 
+def back_out(ctx, parent=None, wc=None):
+    if parent is None:
+        if ctx.p2() is not None:
+            raise error.ProgrammingError(
+                b"must specify parent of merge commit to back out"
+            )
+        parent = ctx.p1()
+    return update(
+        ctx.repo(),
+        parent,
+        branchmerge=True,
+        force=True,
+        ancestor=ctx.node(),
+        mergeancestor=False,
+    )
+
+
 def purge(
     repo,
     matcher,