Mercurial > evolve
view contrib/nopushpublish.py @ 1353:935508184d47
test: adapt test to less frequent branch warning
The 701df761aa94 changeset in mercurial core made the branch warning issue only
for the first branch created. We adapt the tests to reflect this change.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 01 Jun 2015 10:58:50 -0700 |
parents | 984be08ef504 |
children | 4f5e915ddb71 |
line wrap: on
line source
# Extension which prevent changeset to be turn public by push operation # # Copyright 2011 Logilab SA <contact@logilab.fr> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from mercurial import extensions, util from mercurial import discovery def checkpublish(orig, repo, remote, outgoing, *args): # is remote publishing? publish = True if 'phases' in remote.listkeys('namespaces'): remotephases = remote.listkeys('phases') publish = remotephases.get('publishing', False) npublish = 0 if publish: for rev in outgoing.missing: if repo[rev].phase(): npublish += 1 if npublish: repo.ui.warn("Push would publish %s changesets" % npublish) ret = orig(repo, remote, outgoing, *args) if npublish: raise util.Abort("Publishing push forbiden", hint="Use `hg phase -p <rev>` to manually publish them") return ret def uisetup(ui): extensions.wrapfunction(discovery, 'checkheads', checkpublish)