diff --git a/hgext/uncommit.py b/hgext/uncommit.py --- a/hgext/uncommit.py +++ b/hgext/uncommit.py @@ -273,6 +273,8 @@ curctx = repo[b'.'] rewriteutil.precheck(repo, [curctx.rev()], b'unamend') + if len(curctx.parents()) > 1: + raise error.InputError(_(b"cannot unamend merge changeset")) # identify the commit to which to unamend markers = list(predecessormarkers(curctx)) diff --git a/tests/test-unamend.t b/tests/test-unamend.t --- a/tests/test-unamend.t +++ b/tests/test-unamend.t @@ -443,8 +443,5 @@ A left $ hg amend $ hg unamend - $ hg st --rev 1 --rev . - A right - R left (known-bad-output !) - $ hg st --rev 2 --rev . - A left (missing-correct-output !) + abort: cannot unamend merge changeset + [10]