Mercurial > evolve
annotate contrib/nopushpublish.py @ 2929:06844693bb21
tests: update after removing of redundant amend commit
Following e8a7c1a0565a, temporary amend commits has been removed impacting all
revision numbers in tests including amend operations.
Update tests case to use description or hashes when possible and update
revisions number when not.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Fri, 15 Sep 2017 15:48:18 +0200 |
parents | 4f5e915ddb71 |
children |
rev | line source |
---|---|
401 | 1 # Extension which prevent changeset to be turn public by push operation |
413
984be08ef504
nopushpublish: add license en copyright notice
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
402
diff
changeset
|
2 # |
984be08ef504
nopushpublish: add license en copyright notice
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
402
diff
changeset
|
3 # Copyright 2011 Logilab SA <contact@logilab.fr> |
984be08ef504
nopushpublish: add license en copyright notice
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
402
diff
changeset
|
4 # |
984be08ef504
nopushpublish: add license en copyright notice
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
402
diff
changeset
|
5 # This software may be used and distributed according to the terms of the |
984be08ef504
nopushpublish: add license en copyright notice
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
402
diff
changeset
|
6 # GNU General Public License version 2 or any later version. |
984be08ef504
nopushpublish: add license en copyright notice
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
402
diff
changeset
|
7 |
400 | 8 |
9 from mercurial import extensions, util | |
10 from mercurial import discovery | |
11 | |
12 def checkpublish(orig, repo, remote, outgoing, *args): | |
13 | |
14 # is remote publishing? | |
15 publish = True | |
16 if 'phases' in remote.listkeys('namespaces'): | |
17 remotephases = remote.listkeys('phases') | |
18 publish = remotephases.get('publishing', False) | |
19 | |
20 npublish = 0 | |
21 if publish: | |
22 for rev in outgoing.missing: | |
23 if repo[rev].phase(): | |
24 npublish += 1 | |
25 if npublish: | |
26 repo.ui.warn("Push would publish %s changesets" % npublish) | |
27 | |
28 ret = orig(repo, remote, outgoing, *args) | |
29 if npublish: | |
1670 | 30 raise util.Abort("Publishing push forbidden", |
400 | 31 hint="Use `hg phase -p <rev>` to manually publish them") |
32 | |
33 return ret | |
34 | |
35 def uisetup(ui): | |
36 extensions.wrapfunction(discovery, 'checkheads', checkpublish) |