phases: on copy clone, do not copy phases data if repote is publishing
authorPierre-Yves David <pierre-yves.david@ens-lyon.org>
Mon, 26 Dec 2011 13:48:31 +0100
changeset 15741 60344b83e442
parent 15740 62aa9305399d
child 15742 65df60a3f96b
phases: on copy clone, do not copy phases data if repote is publishing
mercurial/hg.py
tests/test-phases-exchange.t
--- a/mercurial/hg.py	Mon Dec 26 13:47:37 2011 +0100
+++ b/mercurial/hg.py	Mon Dec 26 13:48:31 2011 +0100
@@ -183,7 +183,10 @@
     try:
         hardlink = None
         num = 0
+        srcpublishing = srcrepo.ui.configbool('phases', 'publish', True)
         for f in srcrepo.store.copylist():
+            if srcpublishing and f.endswith('phaseroots'):
+                continue
             src = os.path.join(srcrepo.sharedpath, f)
             dst = os.path.join(destpath, f)
             dstbase = os.path.dirname(dst)
--- a/tests/test-phases-exchange.t	Mon Dec 26 13:47:37 2011 +0100
+++ b/tests/test-phases-exchange.t	Mon Dec 26 13:48:31 2011 +0100
@@ -589,3 +589,21 @@
   1 0 a-B - 548a3d25dbf0
   0 0 a-A - 054250a37db4
 
+2. cloning publishing repository
+
+(everything should be public)
+
+  $ hg clone -U alpha Upsilon
+  $ hgph -R Upsilon
+  11 0 A-secret - 435b5d83910c
+  10 0 a-H - 967b449fbc94
+  9 0 a-G - 3e27b6f1eee1
+  8 0 a-F - b740e3e5c05d
+  7 0 a-E - e9f537e46dea
+  6 0 n-B - 145e75495359
+  5 0 n-A - d6bcb4f74035
+  4 0 b-A - f54f1bb90ff3
+  3 0 a-D - b555f63b6063
+  2 0 a-C - 54acac6f23ab
+  1 0 a-B - 548a3d25dbf0
+  0 0 a-A - 054250a37db4