# HG changeset patch # User Navaneeth Suresh # Date 2019-07-24 12:45:27 # Node ID 4814d993fe214fa6932c5c0f205c4708e29c6533 # Parent 11498aa91c036c6d70f7ac5ee5af2664a84a1130 unshelve: handle stripping changesets on interactive mode On interactive mode, changesets on `nodestoremove` should be stripped regardless of the shelve is partial or not. This patch modifies `unshelvecontinue()` to do that. Differential Revision: https://phab.mercurial-scm.org/D6686 diff --git a/mercurial/shelve.py b/mercurial/shelve.py --- a/mercurial/shelve.py +++ b/mercurial/shelve.py @@ -747,10 +747,10 @@ def unshelvecontinue(ui, repo, state, op mergefiles(ui, repo, state.wctx, shelvectx) restorebranch(ui, repo, state.branchtorestore) + if not phases.supportinternal(repo): + repair.strip(ui, repo, state.nodestoremove, backup=False, + topic='shelve') if not ispartialunshelve: - if not phases.supportinternal(repo): - repair.strip(ui, repo, state.nodestoremove, backup=False, - topic='shelve') shelvedstate.clear(repo) unshelvecleanup(ui, repo, state.name, opts) _restoreactivebookmark(repo, state.activebookmark) diff --git a/tests/test-shelve.t b/tests/test-shelve.t --- a/tests/test-shelve.t +++ b/tests/test-shelve.t @@ -1357,11 +1357,33 @@ Abort unshelve while merging (issue5123) A B C + +#if stripbased + $ hg log -r 3:: -G + @ changeset: 5:506510493902 + | tag: tip + | parent: 3:adfeba9a1ac4 + | user: shelve@localhost + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: changes to: add A to bars + | + | @ changeset: 4:8b023952e29c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: add C to bars + | + o changeset: 3:adfeba9a1ac4 + | user: test + ~ date: Thu Jan 01 00:00:00 1970 +0000 + summary: add A to bars + +#endif + $ hg unshelve --continue < y > y > y - > y + > n > EOF diff --git a/bar1 b/bar1 1 hunks, 1 lines changed @@ -1385,6 +1407,21 @@ Abort unshelve while merging (issue5123) +B C record change 2/2 to 'bar2'? - (enter ? for help) [Ynesfdaq?] y + (enter ? for help) [Ynesfdaq?] n unshelve of 'default-01' complete + +#if stripbased + $ hg log -r 3:: -G + @ changeset: 4:8b023952e29c + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: add C to bars + | + o changeset: 3:adfeba9a1ac4 + | user: test + ~ date: Thu Jan 01 00:00:00 1970 +0000 + summary: add A to bars + +#endif