Mercurial > evolve
annotate contrib/nopushpublish.py @ 5779:96ed73c5c6ca
doc: remove .strip() for a docstring
This shouldn't be necessary, and by stripping it (and removing the trailing
newline) it causes issues with Mercurial's doc/gendoc.py's RST output, since
there's no newline separating this string and the thing that comes after it.
I believe that the `.strip()` has been in there since the beginning, but I have
not found a reason for its existence. It's possible that this was required in
older Mercurial versions, but is no longer required? Notably, the tests (which
include an invocation of `hg help evolution`) still pass with this change.
### Alternatives considered
- Making gendoc.py robust against this. This was rejected since there's no need
for the .strip() as far as I can tell, and this is the only case I know of
that would need such logic.
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Wed, 17 Feb 2021 12:00:45 -0800 |
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) |