Show More
@@ -227,6 +227,37 class rebaseruntime(object): | |||
|
227 | 227 | self.external = external |
|
228 | 228 | self.activebookmark = activebookmark |
|
229 | 229 | |
|
230 | def _prepareabortorcontinue(self, isabort): | |
|
231 | try: | |
|
232 | self.restorestatus() | |
|
233 | self.collapsemsg = restorecollapsemsg(self.repo) | |
|
234 | except error.RepoLookupError: | |
|
235 | if isabort: | |
|
236 | clearstatus(self.repo) | |
|
237 | clearcollapsemsg(self.repo) | |
|
238 | self.repo.ui.warn(_('rebase aborted (no revision is removed,' | |
|
239 | ' only broken state is cleared)\n')) | |
|
240 | return 0 | |
|
241 | else: | |
|
242 | msg = _('cannot continue inconsistent rebase') | |
|
243 | hint = _('use "hg rebase --abort" to clear broken state') | |
|
244 | raise error.Abort(msg, hint=hint) | |
|
245 | if isabort: | |
|
246 | return abort(self.repo, self.originalwd, self.target, | |
|
247 | self.state, activebookmark=self.activebookmark) | |
|
248 | ||
|
249 | self.obsoletenotrebased = {} | |
|
250 | if self.ui.configbool('experimental', 'rebaseskipobsolete', | |
|
251 | default=True): | |
|
252 | rebaseobsrevs = set([r for r, st in self.state.items() | |
|
253 | if st == revprecursor]) | |
|
254 | rebasesetrevs = set(self.state.keys()) | |
|
255 | self.obsoletenotrebased = _computeobsoletenotrebased(self.repo, | |
|
256 | rebaseobsrevs, self.target) | |
|
257 | rebaseobsskipped = set(self.obsoletenotrebased) | |
|
258 | _checkobsrebase(self.repo, self.ui, rebaseobsrevs, rebasesetrevs, | |
|
259 | rebaseobsskipped) | |
|
260 | ||
|
230 | 261 | @command('rebase', |
|
231 | 262 | [('s', 'source', '', |
|
232 | 263 | _('rebase the specified changeset and descendants'), _('REV')), |
@@ -381,36 +412,9 def rebase(ui, repo, **opts): | |||
|
381 | 412 | if abortf and opts.get('tool', False): |
|
382 | 413 | ui.warn(_('tool option will be ignored\n')) |
|
383 | 414 | |
|
384 | try: | |
|
385 | rbsrt.restorestatus() | |
|
386 | rbsrt.collapsemsg = restorecollapsemsg(repo) | |
|
387 | except error.RepoLookupError: | |
|
388 | if abortf: | |
|
389 | clearstatus(repo) | |
|
390 | clearcollapsemsg(repo) | |
|
391 | repo.ui.warn(_('rebase aborted (no revision is removed,' | |
|
392 | ' only broken state is cleared)\n')) | |
|
393 | return 0 | |
|
394 | else: | |
|
395 | msg = _('cannot continue inconsistent rebase') | |
|
396 | hint = _('use "hg rebase --abort" to clear broken state') | |
|
397 | raise error.Abort(msg, hint=hint) | |
|
398 | if abortf: | |
|
399 | return abort(repo, rbsrt.originalwd, rbsrt.target, | |
|
400 | rbsrt.state, | |
|
401 | activebookmark=rbsrt.activebookmark) | |
|
402 | ||
|
403 | rbsrt.obsoletenotrebased = {} | |
|
404 | if ui.configbool('experimental', 'rebaseskipobsolete', | |
|
405 | default=True): | |
|
406 | rebaseobsrevs = set([r for r, st in rbsrt.state.items() | |
|
407 | if st == revprecursor]) | |
|
408 | rebasesetrevs = set(rbsrt.state.keys()) | |
|
409 | rbsrt.obsoletenotrebased = _computeobsoletenotrebased(repo, | |
|
410 | rebaseobsrevs, rbsrt.target) | |
|
411 | rebaseobsskipped = set(rbsrt.obsoletenotrebased) | |
|
412 | _checkobsrebase(repo, ui, rebaseobsrevs, rebasesetrevs, | |
|
413 | rebaseobsskipped) | |
|
415 | retcode = rbsrt._prepareabortorcontinue(abortf) | |
|
416 | if retcode is not None: | |
|
417 | return retcode | |
|
414 | 418 | else: |
|
415 | 419 | dest, rebaseset = _definesets(ui, repo, destf, srcf, basef, revf, |
|
416 | 420 | destspace=destspace) |
General Comments 0
You need to be logged in to leave comments.
Login now