# HG changeset patch # User Boris Feld # Date 1499718162 -7200 # Node ID 5747967e257c61d823356a7edd01c3b1dd063fc5 # Parent 04be8aec44a8ffdf954d7ab3ae81ca93a6409cf7 phase: put retractboundary out of the loop in advanceboundary It seems that we were calling retractboundary for each phases to process. Putting the retractboundary out of the loop reduce the number of calls, helping tracking the phases changes. diff -r 04be8aec44a8 -r 5747967e257c mercurial/phases.py --- a/mercurial/phases.py Tue Jul 11 10:46:10 2017 -0700 +++ b/mercurial/phases.py Mon Jul 10 22:22:42 2017 +0200 @@ -301,9 +301,9 @@ self._updateroots(phase, roots, tr) # some roots may need to be declared for lower phases delroots.extend(olds - roots) - # declare deleted root in the target phase - if targetphase != 0: - self.retractboundary(repo, tr, targetphase, delroots) + # declare deleted root in the target phase + if targetphase != 0: + self.retractboundary(repo, tr, targetphase, delroots) repo.invalidatevolatilesets() def retractboundary(self, repo, tr, targetphase, nodes):