equal
deleted
inserted
replaced
366 skippedset = set(self.obsoletenotrebased) |
366 skippedset = set(self.obsoletenotrebased) |
367 skippedset.update(self.obsoletewithoutsuccessorindestination) |
367 skippedset.update(self.obsoletewithoutsuccessorindestination) |
368 skippedset.update(obsoleteextinctsuccessors) |
368 skippedset.update(obsoleteextinctsuccessors) |
369 _checkobsrebase(self.repo, self.ui, obsoleteset, skippedset) |
369 _checkobsrebase(self.repo, self.ui, obsoleteset, skippedset) |
370 |
370 |
371 def _prepareabortorcontinue(self, isabort, backup=True, suppwarns=False): |
371 def _prepareabortorcontinue( |
|
372 self, isabort, backup=True, suppwarns=False, dryrun=False, confirm=False |
|
373 ): |
372 self.resume = True |
374 self.resume = True |
373 try: |
375 try: |
374 self.restorestatus() |
376 self.restorestatus() |
375 self.collapsemsg = restorecollapsemsg(self.repo, isabort) |
377 self.collapsemsg = restorecollapsemsg(self.repo, isabort) |
376 except error.RepoLookupError: |
378 except error.RepoLookupError: |
389 hint = _(b'use "hg rebase --abort" to clear broken state') |
391 hint = _(b'use "hg rebase --abort" to clear broken state') |
390 raise error.Abort(msg, hint=hint) |
392 raise error.Abort(msg, hint=hint) |
391 |
393 |
392 if isabort: |
394 if isabort: |
393 backup = backup and self.backupf |
395 backup = backup and self.backupf |
394 return self._abort(backup=backup, suppwarns=suppwarns) |
396 return self._abort( |
|
397 backup=backup, |
|
398 suppwarns=suppwarns, |
|
399 dryrun=dryrun, |
|
400 confirm=confirm, |
|
401 ) |
395 |
402 |
396 def _preparenewrebase(self, destmap): |
403 def _preparenewrebase(self, destmap): |
397 if not destmap: |
404 if not destmap: |
398 return _nothingtorebase() |
405 return _nothingtorebase() |
399 |
406 |
748 and self.activebookmark in repo._bookmarks |
755 and self.activebookmark in repo._bookmarks |
749 and repo[b'.'].node() == repo._bookmarks[self.activebookmark] |
756 and repo[b'.'].node() == repo._bookmarks[self.activebookmark] |
750 ): |
757 ): |
751 bookmarks.activate(repo, self.activebookmark) |
758 bookmarks.activate(repo, self.activebookmark) |
752 |
759 |
753 def _abort(self, backup=True, suppwarns=False): |
760 def _abort(self, backup=True, suppwarns=False, dryrun=False, confirm=False): |
754 '''Restore the repository to its original state.''' |
761 '''Restore the repository to its original state.''' |
755 |
762 |
756 repo = self.repo |
763 repo = self.repo |
757 try: |
764 try: |
758 # If the first commits in the rebased set get skipped during the |
765 # If the first commits in the rebased set get skipped during the |
792 c.node() for c in repo.set(b'roots(%ld)', rebased) |
799 c.node() for c in repo.set(b'roots(%ld)', rebased) |
793 ] |
800 ] |
794 |
801 |
795 updateifonnodes = set(rebased) |
802 updateifonnodes = set(rebased) |
796 updateifonnodes.update(self.destmap.values()) |
803 updateifonnodes.update(self.destmap.values()) |
797 updateifonnodes.add(self.originalwd) |
804 |
|
805 if not dryrun and not confirm: |
|
806 updateifonnodes.add(self.originalwd) |
|
807 |
798 shouldupdate = repo[b'.'].rev() in updateifonnodes |
808 shouldupdate = repo[b'.'].rev() in updateifonnodes |
799 |
809 |
800 # Update away from the rebase if necessary |
810 # Update away from the rebase if necessary |
801 if shouldupdate: |
811 if shouldupdate: |
802 mergemod.clean_update(repo[self.originalwd]) |
812 mergemod.clean_update(repo[self.originalwd]) |
1118 if not ui.promptchoice(_(b'apply changes (yn)?$$ &Yes $$ &No')): |
1128 if not ui.promptchoice(_(b'apply changes (yn)?$$ &Yes $$ &No')): |
1119 # finish unfinished rebase |
1129 # finish unfinished rebase |
1120 rbsrt._finishrebase() |
1130 rbsrt._finishrebase() |
1121 else: |
1131 else: |
1122 rbsrt._prepareabortorcontinue( |
1132 rbsrt._prepareabortorcontinue( |
1123 isabort=True, backup=False, suppwarns=True |
1133 isabort=True, |
|
1134 backup=False, |
|
1135 suppwarns=True, |
|
1136 confirm=confirm, |
1124 ) |
1137 ) |
1125 needsabort = False |
1138 needsabort = False |
1126 else: |
1139 else: |
1127 ui.status( |
1140 ui.status( |
1128 _( |
1141 _( |
1133 return 0 |
1146 return 0 |
1134 finally: |
1147 finally: |
1135 if needsabort: |
1148 if needsabort: |
1136 # no need to store backup in case of dryrun |
1149 # no need to store backup in case of dryrun |
1137 rbsrt._prepareabortorcontinue( |
1150 rbsrt._prepareabortorcontinue( |
1138 isabort=True, backup=False, suppwarns=True |
1151 isabort=True, |
|
1152 backup=False, |
|
1153 suppwarns=True, |
|
1154 dryrun=opts.get(b'dry_run'), |
1139 ) |
1155 ) |
1140 |
1156 |
1141 |
1157 |
1142 def _dorebase(ui, repo, action, opts, inmemory=False): |
1158 def _dorebase(ui, repo, action, opts, inmemory=False): |
1143 rbsrt = rebaseruntime(repo, ui, inmemory, opts) |
1159 rbsrt = rebaseruntime(repo, ui, inmemory, opts) |