diff mercurial/localrepo.py @ 15454:5a7dde5adec8

phases: add a moveboundary function to move phases boundaries Also include logic to detect when to write phases data.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Mon, 07 Nov 2011 14:11:01 +0100
parents e80d0d3198f0
children c6f87bdab2a1
line wrap: on
line diff
--- a/mercurial/localrepo.py	Mon Nov 07 18:37:58 2011 +0100
+++ b/mercurial/localrepo.py	Mon Nov 07 14:11:01 2011 +0100
@@ -36,6 +36,7 @@
         self.wopener = scmutil.opener(self.root)
         self.baseui = baseui
         self.ui = baseui.copy()
+        self._dirtyphases = False
 
         try:
             self.ui.readconfig(self.join("hgrc"), self.root)
@@ -172,6 +173,7 @@
 
     @filecache('phaseroots')
     def _phaseroots(self):
+        self._dirtyphases = False
         return phases.readroots(self)
 
     @propertycache
@@ -910,6 +912,8 @@
 
         def unlock():
             self.store.write()
+            if self._dirtyphases:
+                phases.writeroots(self)
             for k, ce in self._filecache.items():
                 if k == 'dirstate':
                     continue