--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/nopushpublish.py Mon Jul 30 14:45:08 2012 +0200
@@ -0,0 +1,30 @@
+# Extension which prevent changeset to be turn public by push operation
+
+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)
--- a/nopushpublish.py Mon Jul 30 14:42:02 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-# Extension which prevent changeset to be turn public by push operation
-
-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)