D6694: unshelve: delete shelvedstate after a successful unshelve --continue

navaneeth.suresh (Navaneeth Suresh) phabricator at mercurial-scm.org
Tue Aug 6 08:11:49 EDT 2019


navaneeth.suresh marked an inline comment as done.
navaneeth.suresh updated this revision to Diff 16133.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6694?vs=16109&id=16133

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6694/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6694

AFFECTED FILES
  mercurial/shelve.py
  tests/test-shelve.t

CHANGE DETAILS

diff --git a/tests/test-shelve.t b/tests/test-shelve.t
--- a/tests/test-shelve.t
+++ b/tests/test-shelve.t
@@ -1425,3 +1425,31 @@
      summary:     add A to bars
   
 #endif
+
+-- now, --continue should abort as the last unshelve was successful even
+-- though it was partially done. it can be completed without --continue.
+  $ hg unshelve --continue
+  abort: no unshelve in progress
+  [255]
+
+  $ hg shelve --list
+  default-01      (*)*    changes to: add A to bars (glob)
+  default         (*)*    changes to: add B to foo (glob)
+  $ hg unshelve -n default-01 -i <<EOF
+  > y
+  > y
+  > EOF
+  temporarily committing pending changes (restore with 'hg unshelve --abort')
+  rebasing shelved changes
+  diff --git a/bar2 b/bar2
+  1 hunks, 1 lines changed
+  examine changes to 'bar2'?
+  (enter ? for help) [Ynesfdaq?] y
+  
+  @@ -1,2 +1,3 @@
+   A
+  +B
+   C
+  record this change to 'bar2'?
+  (enter ? for help) [Ynesfdaq?] y
+  
diff --git a/mercurial/shelve.py b/mercurial/shelve.py
--- a/mercurial/shelve.py
+++ b/mercurial/shelve.py
@@ -750,8 +750,8 @@
         if not phases.supportinternal(repo):
             repair.strip(ui, repo, state.nodestoremove, backup=False,
                          topic='shelve')
+        shelvedstate.clear(repo)
         if not ispartialunshelve:
-            shelvedstate.clear(repo)
             unshelvecleanup(ui, repo, state.name, opts)
         _restoreactivebookmark(repo, state.activebookmark)
         ui.status(_("unshelve of '%s' complete\n") % state.name)



To: navaneeth.suresh, #hg-reviewers, durin42, pulkit
Cc: durin42, mercurial-devel


More information about the Mercurial-devel mailing list