Show More
@@ -721,15 +721,8 b' def unshelvecontinue(ui, repo, state, op' | |||||
721 | with repo.ui.configoverride(overrides, 'unshelve'): |
|
721 | with repo.ui.configoverride(overrides, 'unshelve'): | |
722 | with repo.dirstate.parentchange(): |
|
722 | with repo.dirstate.parentchange(): | |
723 | repo.setparents(state.parents[0], nodemod.nullid) |
|
723 | repo.setparents(state.parents[0], nodemod.nullid) | |
724 | if not interactive: |
|
724 | newnode, ispartialunshelve = _createunshelvectx(ui, | |
725 | ispartialunshelve = False |
|
725 | repo, shelvectx, basename, interactive, opts) | |
726 | newnode = repo.commit(text=shelvectx.description(), |
|
|||
727 | extra=shelvectx.extra(), |
|
|||
728 | user=shelvectx.user(), |
|
|||
729 | date=shelvectx.date()) |
|
|||
730 | else: |
|
|||
731 | newnode, ispartialunshelve = _dounshelveinteractive(ui, |
|
|||
732 | repo, shelvectx, basename, opts) |
|
|||
733 |
|
726 | |||
734 | if newnode is None: |
|
727 | if newnode is None: | |
735 | # If it ended up being a no-op commit, then the normal |
|
728 | # If it ended up being a no-op commit, then the normal | |
@@ -804,14 +797,37 b' def _unshelverestorecommit(ui, repo, tr,' | |||||
804 |
|
797 | |||
805 | return repo, shelvectx |
|
798 | return repo, shelvectx | |
806 |
|
799 | |||
807 |
def _ |
|
800 | def _createunshelvectx(ui, repo, shelvectx, basename, interactive, opts): | |
808 | """The user might want to unshelve certain changes only from the stored |
|
801 | """Handles the creation of unshelve commit and updates the shelve if it | |
809 | shelve. So, we would create two commits. One with requested changes to |
|
802 | was partially unshelved. | |
810 | unshelve at that time and the latter is shelved for future. |
|
803 | ||
|
804 | If interactive is: | |||
|
805 | ||||
|
806 | * False: Commits all the changes in the working directory. | |||
|
807 | * True: Prompts the user to select changes to unshelve and commit them. | |||
|
808 | Update the shelve with remaining changes. | |||
|
809 | ||||
|
810 | Returns the node of the new commit formed and a bool indicating whether | |||
|
811 | the shelve was partially unshelved.Creates a commit ctx to unshelve | |||
|
812 | interactively or non-interactively. | |||
|
813 | ||||
|
814 | The user might want to unshelve certain changes only from the stored | |||
|
815 | shelve in interactive. So, we would create two commits. One with requested | |||
|
816 | changes to unshelve at that time and the latter is shelved for future. | |||
|
817 | ||||
|
818 | Here, we return both the newnode which is created interactively and a | |||
|
819 | bool to know whether the shelve is partly done or completely done. | |||
811 | """ |
|
820 | """ | |
812 | opts['message'] = shelvectx.description() |
|
821 | opts['message'] = shelvectx.description() | |
813 | opts['interactive-unshelve'] = True |
|
822 | opts['interactive-unshelve'] = True | |
814 | pats = [] |
|
823 | pats = [] | |
|
824 | if not interactive: | |||
|
825 | newnode = repo.commit(text=shelvectx.description(), | |||
|
826 | extra=shelvectx.extra(), | |||
|
827 | user=shelvectx.user(), | |||
|
828 | date=shelvectx.date()) | |||
|
829 | return newnode, False | |||
|
830 | ||||
815 | commitfunc = getcommitfunc(shelvectx.extra(), interactive=True, |
|
831 | commitfunc = getcommitfunc(shelvectx.extra(), interactive=True, | |
816 | editor=True) |
|
832 | editor=True) | |
817 | newnode = cmdutil.dorecord(ui, repo, commitfunc, None, False, |
|
833 | newnode = cmdutil.dorecord(ui, repo, commitfunc, None, False, | |
@@ -861,15 +877,8 b' def _rebaserestoredcommit(ui, repo, opts' | |||||
861 |
|
877 | |||
862 | with repo.dirstate.parentchange(): |
|
878 | with repo.dirstate.parentchange(): | |
863 | repo.setparents(tmpwctx.node(), nodemod.nullid) |
|
879 | repo.setparents(tmpwctx.node(), nodemod.nullid) | |
864 | if not interactive: |
|
880 | newnode, ispartialunshelve = _createunshelvectx(ui, repo, | |
865 | ispartialunshelve = False |
|
881 | shelvectx, basename, interactive, opts) | |
866 | newnode = repo.commit(text=shelvectx.description(), |
|
|||
867 | extra=shelvectx.extra(), |
|
|||
868 | user=shelvectx.user(), |
|
|||
869 | date=shelvectx.date()) |
|
|||
870 | else: |
|
|||
871 | newnode, ispartialunshelve = _dounshelveinteractive(ui, repo, |
|
|||
872 | shelvectx, basename, opts) |
|
|||
873 |
|
882 | |||
874 | if newnode is None: |
|
883 | if newnode is None: | |
875 | # If it ended up being a no-op commit, then the normal |
|
884 | # If it ended up being a no-op commit, then the normal |
General Comments 0
You need to be logged in to leave comments.
Login now