# HG changeset patch # User Pierre-Yves David <pierre-yves.david@logilab.fr> # Date 1326299187 -3600 # Wed Jan 11 17:26:27 2012 +0100 # Node ID 2072e403199460754fb996358750e3af88b8ad64 # Parent 12dea4d998ecb5f18969c51d9b86fd19eb0e09fc phases: exclude secret when doing a local clone This is achieved by denying copy clone when any secret changeset exist. diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -626,6 +626,10 @@ def local(self): return self + def cancopy(self): + return (repo.repository.cancopy(self) + and not self._phaseroots[phases.secret]) + def join(self, f): return os.path.join(self.path, f) diff --git a/tests/test-phases.t b/tests/test-phases.t --- a/tests/test-phases.t +++ b/tests/test-phases.t @@ -164,6 +164,17 @@ 4 changesets found $ cd .. +Test secret changeset are not cloned +(during local clone) + + $ hg clone -qU initialrepo clone-dest + $ hglog -R clone-dest + 4 0 B' + 3 0 D + 2 0 C + 1 0 B + 0 0 A + Test revset $ cd initialrepo