[PATCH 1 of 2] phases: move pure phase computation in a function
Laurent Charignon
lcharignon at fb.com
Mon Mar 30 20:04:23 UTC 2015
# HG changeset patch
# User Laurent Charignon <lcharignon at fb.com>
# Date 1427744895 25200
# Mon Mar 30 12:48:15 2015 -0700
# Node ID 84c46e062e718bc988af0aba11651c2c974c5d30
# Parent efa094701a05d58d505c3b0c3b3c73dba4e51e97
phases: move pure phase computation in a function
diff --git a/mercurial/phases.py b/mercurial/phases.py
--- a/mercurial/phases.py
+++ b/mercurial/phases.py
@@ -179,22 +179,25 @@
nativeroots.append(map(repo.changelog.rev, self.phaseroots[phase]))
return repo.changelog.computephases(nativeroots)
+ def computephaserevspure(self, repo):
+ repo = repo.unfiltered()
+ revs = [public] * len(repo.changelog)
+ self._phaserevs = revs
+ self._populatephaseroots(repo)
+ for phase in trackedphases:
+ roots = map(repo.changelog.rev, self.phaseroots[phase])
+ if roots:
+ for rev in roots:
+ revs[rev] = phase
+ for rev in repo.changelog.descendants(roots):
+ revs[rev] = phase
+
def getphaserevs(self, repo):
if self._phaserevs is None:
try:
self._phaserevs = self.getphaserevsnative(repo)
except AttributeError:
- repo = repo.unfiltered()
- revs = [public] * len(repo.changelog)
- self._phaserevs = revs
- self._populatephaseroots(repo)
- for phase in trackedphases:
- roots = map(repo.changelog.rev, self.phaseroots[phase])
- if roots:
- for rev in roots:
- revs[rev] = phase
- for rev in repo.changelog.descendants(roots):
- revs[rev] = phase
+ self.computephaserevspure(repo)
return self._phaserevs
def invalidate(self):
More information about the Mercurial-devel
mailing list