From patchwork Tue Nov 17 06:49:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D9335: shelve: clear merge state after partial shelve From: phabricator X-Patchwork-Id: 47611 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Tue, 17 Nov 2020 06:49:11 +0000 martinvonz created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9335 AFFECTED FILES mercurial/shelve.py tests/test-shelve.t CHANGE DETAILS To: martinvonz, #hg-reviewers Cc: mercurial-patches, mercurial-devel diff --git a/tests/test-shelve.t b/tests/test-shelve.t --- a/tests/test-shelve.t +++ b/tests/test-shelve.t @@ -810,9 +810,8 @@ ? foo/foo $ hg bookmark \* test (4|13):33f7f61e6c5e (re) -BROKEN: there shouldn't be a merge state +there shouldn't be a merge state $ hg resolve -l - R a/a $ hg unshelve unshelving change 'test' temporarily committing pending changes (restore with 'hg unshelve --abort') diff --git a/mercurial/shelve.py b/mercurial/shelve.py --- a/mercurial/shelve.py +++ b/mercurial/shelve.py @@ -564,6 +564,10 @@ scmutil.movedirstate(repo, parent, match) else: hg.update(repo, parent.node()) + ms = mergestatemod.mergestate.read(repo) + if not ms.unresolvedcount(): + ms.reset() + if origbranch != repo[b'.'].branch() and not _isbareshelve(pats, opts): repo.dirstate.setbranch(origbranch)