Mercurial > public > mercurial-scm > hg-stable
diff mercurial/shelve.py @ 42725:073cfff9aaef
unshelve: delete shelvedstate after a successful unshelve --continue
`unshelve --continue` was preventing the deletion of `shelvedstate` on
a partial `unshelve`. Ideally, `shelvedstate` should be deleted after
a successful `unshelve`. Now, the behavior of `unshelve --continue`
will be as follows in interactive mode:
1] The user tried to `unshelve` changes interactively but, ran into
conflicts.
2] They resolved the conflicts and triggered `unshelve --continue`
but, unshelved changes partially.
3] Now, on trying to do `unshelve --continue` again will abort as
the last `unshelve` was successful and we are deleting the
`shelvedstate`.
4] If they want to unshelve the remaining shelved change, they
need to trigger `unshelve` without `--continue`.
Differential Revision: https://phab.mercurial-scm.org/D6694
author | Navaneeth Suresh <navaneeths1998@gmail.com> |
---|---|
date | Thu, 25 Jul 2019 22:01:15 +0530 |
parents | 4814d993fe21 |
children | 6957f7b93e03 |
line wrap: on
line diff
--- a/mercurial/shelve.py Wed Jul 24 18:15:27 2019 +0530 +++ b/mercurial/shelve.py Thu Jul 25 22:01:15 2019 +0530 @@ -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)