Show More
@@ -630,6 +630,26 b' def unshelvecontinue(ui, repo, state, op' | |||
|
630 | 630 | unshelvecleanup(ui, repo, state.name, opts) |
|
631 | 631 | ui.status(_("unshelve of '%s' complete\n") % state.name) |
|
632 | 632 | |
|
633 | def _commitworkingcopychanges(ui, repo, opts, tmpwctx): | |
|
634 | """Temporarily commit working copy changes before moving unshelve commit""" | |
|
635 | # Store pending changes in a commit and remember added in case a shelve | |
|
636 | # contains unknown files that are part of the pending change | |
|
637 | s = repo.status() | |
|
638 | addedbefore = frozenset(s.added) | |
|
639 | if not (s.modified or s.added or s.removed or s.deleted): | |
|
640 | return tmpwctx, addedbefore | |
|
641 | ui.status(_("temporarily committing pending changes " | |
|
642 | "(restore with 'hg unshelve --abort')\n")) | |
|
643 | commitfunc = getcommitfunc(extra=None, interactive=False, | |
|
644 | editor=False) | |
|
645 | tempopts = {} | |
|
646 | tempopts['message'] = "pending changes temporary commit" | |
|
647 | tempopts['date'] = opts.get('date') | |
|
648 | ui.quiet = True | |
|
649 | node = cmdutil.commit(ui, repo, commitfunc, [], tempopts) | |
|
650 | tmpwctx = repo[node] | |
|
651 | return tmpwctx, addedbefore | |
|
652 | ||
|
633 | 653 | @command('unshelve', |
|
634 | 654 | [('a', 'abort', None, |
|
635 | 655 | _('abort an incomplete unshelve operation')), |
@@ -752,21 +772,8 b' def _dounshelve(ui, repo, *shelved, **op' | |||
|
752 | 772 | # and shelvectx is the unshelved changes. Then we merge it all down |
|
753 | 773 | # to the original pctx. |
|
754 | 774 | |
|
755 | # Store pending changes in a commit and remember added in case a shelve | |
|
756 | # contains unknown files that are part of the pending change | |
|
757 | s = repo.status() | |
|
758 | addedbefore = frozenset(s.added) | |
|
759 | if s.modified or s.added or s.removed or s.deleted: | |
|
760 | ui.status(_("temporarily committing pending changes " | |
|
761 | "(restore with 'hg unshelve --abort')\n")) | |
|
762 | commitfunc = getcommitfunc(extra=None, interactive=False, | |
|
763 | editor=False) | |
|
764 | tempopts = {} | |
|
765 | tempopts['message'] = "pending changes temporary commit" | |
|
766 | tempopts['date'] = opts.get('date') | |
|
767 | ui.quiet = True | |
|
768 | node = cmdutil.commit(ui, repo, commitfunc, [], tempopts) | |
|
769 | tmpwctx = repo[node] | |
|
775 | tmpwctx, addedbefore = _commitworkingcopychanges(ui, repo, opts, | |
|
776 | tmpwctx) | |
|
770 | 777 | |
|
771 | 778 | ui.quiet = True |
|
772 | 779 | shelvedfile(repo, basename, 'hg').applybundle() |
General Comments 0
You need to be logged in to leave comments.
Login now