D6684: unshelve: modify --continue on interactive unshelve
navaneeth.suresh (Navaneeth Suresh)
phabricator at mercurial-scm.org
Wed Jul 24 17:43:18 UTC 2019
navaneeth.suresh edited the summary of this revision.
navaneeth.suresh updated this revision to Diff 16056.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6684?vs=16037&id=16056
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D6684/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D6684
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
@@ -1351,13 +1351,12 @@
A
B
C
- $ hg unshelve --continue -i <<EOF
+ $ hg unshelve --continue <<EOF
> y
> y
> y
> y
> EOF
- unshelving change 'default-01'
diff --git a/bar1 b/bar1
1 hunks, 1 lines changed
examine changes to 'bar1'?
diff --git a/mercurial/shelve.py b/mercurial/shelve.py
--- a/mercurial/shelve.py
+++ b/mercurial/shelve.py
@@ -698,11 +698,12 @@
if shfile.exists():
shfile.movetobackup()
cleanupoldbackups(repo)
-def unshelvecontinue(ui, repo, state, opts, basename=None):
+def unshelvecontinue(ui, repo, state, opts):
"""subcommand to continue an in-progress unshelve"""
# We're finishing off a merge. First parent is our original
# parent, second is the temporary "fake" commit we're unshelving.
interactive = state.interactive
+ basename = state.name
with repo.lock():
checkparents(repo, state)
ms = merge.mergestate.read(repo)
@@ -933,10 +934,10 @@
if opts.get("name"):
shelved.append(opts["name"])
- if abortf or continuef and not interactive:
+ if abortf or continuef:
if abortf and continuef:
raise error.Abort(_('cannot use both abort and continue'))
- if shelved:
+ if opts.get("name"):
raise error.Abort(_('cannot combine abort/continue with '
'naming a shelved change'))
if abortf and opts.get('tool', False):
@@ -947,19 +948,17 @@
return unshelveabort(ui, repo, state)
elif continuef:
return unshelvecontinue(ui, repo, state, opts)
- elif len(shelved) > 1:
+ if len(shelved) > 1:
raise error.Abort(_('can only unshelve one change at a time'))
elif not shelved:
shelved = listshelves(repo)
if not shelved:
raise error.Abort(_('no shelved changes to apply!'))
basename = util.split(shelved[0][1])[1]
- ui.status(_("unshelving change '%s'\n") % basename)
- elif shelved:
+ if not (abortf or continuef):
+ ui.status(_("unshelving change '%s'\n") % basename)
+ else:
basename = shelved[0]
- if continuef and interactive:
- state = _loadshelvedstate(ui, repo, opts)
- return unshelvecontinue(ui, repo, state, opts, basename)
if not shelvedfile(repo, basename, patchextension).exists():
raise error.Abort(_("shelved change '%s' not found") % basename)
To: navaneeth.suresh, #hg-reviewers
Cc: pulkit, mercurial-devel
More information about the Mercurial-devel
mailing list