phases: fix an overzealous invalidation of the phase sets
If `len(cl) == self._loadedrevslen` the cache is up to date.
--- a/mercurial/phases.py Wed Feb 21 11:04:56 2024 +0100
+++ b/mercurial/phases.py Wed Feb 21 12:01:09 2024 +0100
@@ -384,7 +384,7 @@
"""detect if there are revisions with non-public phase"""
repo = repo.unfiltered()
cl = repo.changelog
- if len(cl) >= self._loadedrevslen:
+ if len(cl) > self._loadedrevslen:
self.invalidate()
self.loadphaserevs(repo)
return any(
@@ -401,7 +401,7 @@
"""
repo = repo.unfiltered()
cl = repo.changelog
- if len(cl) >= self._loadedrevslen:
+ if len(cl) > self._loadedrevslen:
self.invalidate()
self.loadphaserevs(repo)
return set().union(