[PATCH 1 of 6 REPHASE-VIEW] phases: add a phases.publish option

pierre-yves.david at logilab.fr pierre-yves.david at logilab.fr
Wed Oct 26 07:56:25 CDT 2011


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1319457470 -7200
# Node ID 60fe277d9cf3f0956ffcdf86b6aeddeadfad717a
# Parent  b605998d3fcf54e8f8be9604f9af2c9fd3235e5e
phases: add a phases.publish option

Changegroup added on an publish=False repository are not set into the "public"
phase. default is True.

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1965,11 +1965,12 @@ class localrepository(repo.repository):
                 self.hook('pretxnchangegroup', throw=True,
                           node=hex(cl.node(clstart)), source=srctype,
                           url=url, pending=p)
 
             added = [cl.node(r) for r in xrange(clstart, clend)]
-            phases.moveboundary(self, 0, added)
+            if self.ui.configbool('phases', 'publish', True):
+                phases.moveboundary(self, 0, added)
             # make changelog see real files again
             cl.finalize(trp)
 
             tr.close()
         finally:
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
@@ -107,6 +107,32 @@ update must update phase of common chang
   3 0 a-C
   2 0 b-A
   1 0 a-B
   0 0 a-A
 
+Publish configuration option
+----------------------------
 
+changegroup are added without phase movement
+
+  $ hg bundle -a ../base.bundle
+  5 changesets found
+  $ cd ..
+  $ hg init mu
+  $ cd mu
+  $ cat > .hg/hgrc << EOF
+  > [phases]
+  > publish=0
+  > EOF
+  $ hg unbundle ../base.bundle
+  adding changesets
+  adding manifests
+  adding file changes
+  added 5 changesets with 5 changes to 5 files (+1 heads)
+  (run 'hg heads' to see heads, 'hg merge' to merge)
+  $ hgph
+  4 1 a-D
+  3 1 a-C
+  2 1 b-A
+  1 1 a-B
+  0 1 a-A
+


More information about the Mercurial-devel mailing list