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