[PATCH 03 of 10] phases: write default phase data as soon as possible
pierre-yves.david at logilab.fr
pierre-yves.david at logilab.fr
Mon Jan 30 10:49:37 CST 2012
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1327941189 -3600
# Branch stable
# Node ID b79eb733a568777e92b1291d267229ae6ff1832a
# Parent 087a920ef41a7dc3870af4a458cebd2f219f72f5
phases: write default phase data as soon as possible.
Marks phase data as dirty when computing default phase. Actual writing is done
when the lock is released. So, read only operation don't write phase data
because they don't lock the repo.
diff --git a/mercurial/phases.py b/mercurial/phases.py
--- a/mercurial/phases.py
+++ b/mercurial/phases.py
@@ -120,10 +120,11 @@ def readroots(repo):
except IOError, inst:
if inst.errno != errno.ENOENT:
raise
for f in repo._phasedefaults:
roots = f(repo, roots)
+ repo._dirtyphases = True
return roots
def writeroots(repo):
"""Write phase roots from disk"""
f = repo.sopener('phaseroots', 'w', atomictemp=True)
diff --git a/tests/test-inherit-mode.t b/tests/test-inherit-mode.t
--- a/tests/test-inherit-mode.t
+++ b/tests/test-inherit-mode.t
@@ -119,10 +119,11 @@ group can still write everything
00770 ../push/.hg/store/data/
00770 ../push/.hg/store/data/dir/
00660 ../push/.hg/store/data/dir/bar.i
00660 ../push/.hg/store/data/foo.i
00660 ../push/.hg/store/fncache
+ 00660 ../push/.hg/store/phaseroots
00660 ../push/.hg/store/undo
00660 ../push/.hg/store/undo.phaseroots
00660 ../push/.hg/undo.bookmarks
00660 ../push/.hg/undo.branch
00660 ../push/.hg/undo.desc
More information about the Mercurial-devel
mailing list