Mercurial > evolve
view contrib/nopushpublish.py @ 3064:7a1a4d1f0958 stable
pager: add a function in compats to start pager
This will help us enabling pager when ui.pager API exists. Also we can try
plugging in the old pager API in this function and we won't have to change
anything.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Sat, 14 Oct 2017 20:17:25 +0530 |
parents | 4f5e915ddb71 |
children |
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 forbidden", hint="Use `hg phase -p <rev>` to manually publish them") return ret def uisetup(ui): extensions.wrapfunction(discovery, 'checkheads', checkpublish)