martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY 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). REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1682 AFFECTED FILES hgext/uncommit.py tests/test-unamend.t CHANGE DETAILS diff --git a/tests/test-unamend.t b/tests/test-unamend.t --- a/tests/test-unamend.t +++ b/tests/test-unamend.t @@ -280,17 +280,20 @@ o 0:18d04c59bb5d Added a + $ hg --config experimental.evolution=createmarkers unamend + abort: cannot unamend changeset with children + [255] + $ hg unamend - abort: cannot unamend a changeset with children - [255] Trying to unamend a public changeset - $ hg up - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg up -C 23 + 5 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg phase -r . -p $ hg unamend abort: cannot unamend public changesets + (see 'hg help phases' for details) [255] Testing whether unamend retains copies or not diff --git a/hgext/uncommit.py b/hgext/uncommit.py --- a/hgext/uncommit.py +++ b/hgext/uncommit.py @@ -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() To: martinvonz, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel