[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