[PATCH 2 of 3 fix-default] phase: invalidate the phase's set cache alongside the revs

Pierre-Yves David pierre-yves.david at ens-lyon.org
Mon Jun 15 18:23:14 CDT 2015


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at fb.com>
# Date 1434409067 25200
#      Mon Jun 15 15:57:47 2015 -0700
# Node ID 1195b5176c10a267c3e27bca8afd0ac7067cb4e9
# Parent  8f43bb4a6054c68cd41e7b3e04c9f564ca1e5ac1
phase: invalidate the phase's set cache alongside the revs

Invalidate was leaving set data around leading to possible bugs in revset.

diff --git a/mercurial/phases.py b/mercurial/phases.py
--- a/mercurial/phases.py
+++ b/mercurial/phases.py
@@ -207,10 +207,11 @@ class phasecache(object):
                 self._computephaserevspure(repo)
         return self._phaserevs
 
     def invalidate(self):
         self._phaserevs = None
+        self._phasesets = None
 
     def _populatephaseroots(self, repo):
         """Fills the _phaserevs cache with phases for the roots.
         """
         cl = repo.changelog


More information about the Mercurial-devel mailing list