comparison hgext/rebase.py @ 46832:d95edcbe5c99

rebase: calculate obsolescense-related info earlier My goal is to use `rewriteutil.precheck()` in the rebase code. Since rebase does its own handling of divergent commits (it skips them instead of erroring out), we need to have divergence-causing commits filtered out early. This patch helps prepare for that. Differential Revision: https://phab.mercurial-scm.org/D10247
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 12 Feb 2021 16:05:02 -0800
parents 7d80622fc212
children 47c251a14525
comparison
equal deleted inserted replaced
46831:7d80622fc212 46832:d95edcbe5c99
366 self, isabort, backup=True, suppwarns=False, dryrun=False, confirm=False 366 self, isabort, backup=True, suppwarns=False, dryrun=False, confirm=False
367 ): 367 ):
368 self.resume = True 368 self.resume = True
369 try: 369 try:
370 self.restorestatus() 370 self.restorestatus()
371 # Calculate self.obsoletenotrebased
372 self._handleskippingobsolete()
371 self.collapsemsg = restorecollapsemsg(self.repo, isabort) 373 self.collapsemsg = restorecollapsemsg(self.repo, isabort)
372 except error.RepoLookupError: 374 except error.RepoLookupError:
373 if isabort: 375 if isabort:
374 clearstatus(self.repo) 376 clearstatus(self.repo)
375 clearcollapsemsg(self.repo) 377 clearcollapsemsg(self.repo)
431 dest = self.repo[destrev] 433 dest = self.repo[destrev]
432 if dest.closesbranch() and not self.keepbranchesf: 434 if dest.closesbranch() and not self.keepbranchesf:
433 self.ui.status(_(b'reopening closed branch head %s\n') % dest) 435 self.ui.status(_(b'reopening closed branch head %s\n') % dest)
434 436
435 self.prepared = True 437 self.prepared = True
438
439 # Calculate self.obsoletenotrebased
440 self._handleskippingobsolete()
436 441
437 def _assignworkingcopy(self): 442 def _assignworkingcopy(self):
438 if self.inmemory: 443 if self.inmemory:
439 from mercurial.context import overlayworkingctx 444 from mercurial.context import overlayworkingctx
440 445
464 branches.add(repo[rev].branch()) 469 branches.add(repo[rev].branch())
465 if len(branches) > 1: 470 if len(branches) > 1:
466 raise error.InputError( 471 raise error.InputError(
467 _(b'cannot collapse multiple named branches') 472 _(b'cannot collapse multiple named branches')
468 ) 473 )
469
470 # Calculate self.obsoletenotrebased
471 self._handleskippingobsolete()
472 474
473 # Keep track of the active bookmarks in order to reset them later 475 # Keep track of the active bookmarks in order to reset them later
474 self.activebookmark = self.activebookmark or repo._activebookmark 476 self.activebookmark = self.activebookmark or repo._activebookmark
475 if self.activebookmark: 477 if self.activebookmark:
476 bookmarks.deactivate(repo) 478 bookmarks.deactivate(repo)