[PATCH 1 of 9 phases] phases: improve context.phase()

Pierre-Yves David pierre-yves.david at ens-lyon.org
Mon Nov 7 11:43:13 CST 2011


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1320687478 -3600
# Node ID 6baae333d2575d053a0b00d02c7928e6b8d64826
# Parent  f3b5ba25d21787a9e4aa5fc243ecbafc9e978e00
phases: improve context.phase()

* force recompute of outdated cache
* handle nullrev case

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -118,6 +118,11 @@
     def bookmarks(self):
         return self._repo.nodebookmarks(self._node)
     def phase(self):
+        if self._rev == -1:
+            return 0
+        if self._rev >= len(self._repo._phaserev):
+            # outdated cache
+            del self._repo._phaserev
         return self._repo._phaserev[self._rev]
     def hidden(self):
         return self._rev in self._repo.changelog.hiddenrevs


More information about the Mercurial-devel mailing list