revset: ensure we have loaded phases data in '_notpublic()'
authorPierre-Yves David <pierre-yves.david@fb.com>
Mon, 15 Jun 2015 16:16:02 -0700
changeset 25612 97528adbf74b
parent 25611 d89045a66e01
child 25613 a13c18c14ade
revset: ensure we have loaded phases data in '_notpublic()' If we are the very first rev access (or if the phase cache just got invalidated) the phasesets will be None even if we support the native computation. So we explicitly trigger a computation if needed. This was not an issue before because requesting any phase information would have triggered such computation.
mercurial/revset.py
--- a/mercurial/revset.py	Mon Jun 15 16:04:14 2015 -0700
+++ b/mercurial/revset.py	Mon Jun 15 16:16:02 2015 -0700
@@ -1513,6 +1513,7 @@
 # for internal use
 def _notpublic(repo, subset, x):
     getargs(x, 0, 0, "_notpublic takes no arguments")
+    repo._phasecache.loadphaserevs(repo) # ensure phase's sets are loaded
     if repo._phasecache._phasesets:
         s = set()
         for u in repo._phasecache._phasesets[1:]: