How can I tell mercurial that a remote server (originally on bitbucket for example, but they no longer support Mercurial) is non-publishing when I do not have access to the remote .hg/hgrc
file?
Background
Recent versions of mercurial has a concept of phases that allow one to keep track of which changesets have been shared (public
) and which ones have not (draft
). Repository changing operations like rebase
are allowed on draft
changesets, but not public
changesets as others might depend on the latter.
Pushing changesets to a public server will change their phase to public
by default, but if the server is private or dedicated to code reviews (i.e. people should not be able to pull), then pushing to that "non-publishing" server should not change the phase.
The documented way of telling mercurial that the server is non-publishing is to add a [phases]
section to the .hg/hgrc
file on the server:
[phases]
publish = False
It seems to me that there should be a way of including a line in one of my local hgrc
files that says a particular server is non-publishing, but I cannot find any documentation to suggest how. Perhaps this behaviour could be customized with a hook?
outgoing
so it lists if a chageset will change phase is necessary. – Indicator