Mercurial > public > mercurial-scm > hg
diff hgext/uncommit.py @ 35435:f01101100043
unamend: allow unamending if allowunstable is set
I don't see why unamend should be disallowed when allowunstable is
set. By switching to rewriteutil.precheck() we fix that and get more
consistent error messages (and some additional ones).
Differential Revision: https://phab.mercurial-scm.org/D1682
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 13 Dec 2017 17:03:39 -0800 |
parents | 8a0cac20a1ad |
children | f9a82b9b2c36 |
line wrap: on
line diff
--- a/hgext/uncommit.py Wed Dec 13 10:29:22 2017 -0800 +++ b/hgext/uncommit.py Wed Dec 13 17:03:39 2017 -0800 @@ -208,8 +208,7 @@ # identify the commit from which to unamend curctx = repo['.'] - if not curctx.mutable(): - raise error.Abort(_('cannot unamend public changesets')) + rewriteutil.precheck(repo, [curctx.rev()], 'unamend') # identify the commit to which to unamend markers = list(predecessormarkers(curctx)) @@ -220,9 +219,6 @@ prednode = markers[0].prednode() predctx = unfi[prednode] - if curctx.children(): - raise error.Abort(_("cannot unamend a changeset with children")) - # add an extra so that we get a new hash # note: allowing unamend to undo an unamend is an intentional feature extras = predctx.extra()