Mercurial > hg
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) |