[PATCH 1 of 3 phases] phases: copy phases data on local clone

Pierre-Yves David pierre-yves.david at ens-lyon.org
Mon Dec 26 17:47:18 CST 2011


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1324903657 -3600
# Node ID c577fc8bbd66385b9fff47b3a3f0194ead0b97b5
# Parent  3bcfea777efc41c87918c1bb594615ff4fb6a34b
phases: copy phases data on local clone

diff --git a/mercurial/store.py b/mercurial/store.py
--- a/mercurial/store.py
+++ b/mercurial/store.py
@@ -232,7 +232,7 @@
         mode = None
     return mode
 
-_data = 'data 00manifest.d 00manifest.i 00changelog.d 00changelog.i'
+_data = 'data 00manifest.d 00manifest.i 00changelog.d 00changelog.i phaseroots'
 
 class basicstore(object):
     '''base class for local repository stores'''
@@ -410,7 +410,7 @@
 
     def copylist(self):
         d = ('data dh fncache'
-             ' 00manifest.d 00manifest.i 00changelog.d 00changelog.i')
+             ' 00manifest.d 00manifest.i 00changelog.d 00changelog.i phaseroots')
         return (['requires', '00changelog.i'] +
                 ['store/' + f for f in d.split()])
 
diff --git a/tests/test-phases-exchange.t b/tests/test-phases-exchange.t
--- a/tests/test-phases-exchange.t
+++ b/tests/test-phases-exchange.t
@@ -566,5 +566,26 @@
   2 0 a-C - 54acac6f23ab
   1 0 a-B - 548a3d25dbf0
   0 0 a-A - 054250a37db4
+  $ cd ..
+Test Clone behavior
 
+A. Clone without secret changeset
 
+1.  cloning non-publishing repository
+
+(Phase should be preserved°
+
+  $ hg clone -U mu Tau
+  $ hgph -R Tau
+  10 1 A-secret - 435b5d83910c
+  9 0 a-H - 967b449fbc94
+  8 0 a-F - b740e3e5c05d
+  7 0 a-E - e9f537e46dea
+  6 0 n-B - 145e75495359
+  5 0 n-A - d6bcb4f74035
+  4 0 a-D - b555f63b6063
+  3 0 a-C - 54acac6f23ab
+  2 0 b-A - f54f1bb90ff3
+  1 0 a-B - 548a3d25dbf0
+  0 0 a-A - 054250a37db4
+


More information about the Mercurial-devel mailing list