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.
--- 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):