Mercurial > hg
view hgext/commitextras.py @ 46082:c80f9e3daec3
share: remove unexpected heading from "verbose" container in help test
`test-gendoc-*.t` have been failing for me since 91425656e2b1 (share:
add documentation about share-safe mode in `hg help -e share`,
2020-11-27) with this kind of output:
```
--- /usr/local/google/home/martinvonz/hg/tests/test-gendoc-ru.t
+++ /usr/local/google/home/martinvonz/hg/tests/test-gendoc-ru.t.err
@@ -2,3 +2,9 @@
$ $TESTDIR/check-gendoc ru
checking for parse errors
+ gendoc.txt:12818: (SEVERE/4) Unexpected section title.
+
+ Sharing requirements and configs of source repository with shares
+ -----------------------------------------------------------------
+ Exiting due to level-4 (SEVERE) system message.
+ [1]
```
This patch fixes that.
Differential Revision: https://phab.mercurial-scm.org/D9552
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 09 Dec 2020 09:54:49 -0800 |
parents | 9f70512ae2cf |
children | 45a073af50a2 |
line wrap: on
line source
# commitextras.py # # Copyright 2013 Facebook, Inc. # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. '''adds a new flag extras to commit (ADVANCED)''' from __future__ import absolute_import import re from mercurial.i18n import _ from mercurial import ( commands, error, extensions, registrar, util, ) cmdtable = {} command = registrar.command(cmdtable) testedwith = b'ships-with-hg-core' usedinternally = { b'amend_source', b'branch', b'close', b'histedit_source', b'topic', b'rebase_source', b'intermediate-source', b'__touch-noise__', b'source', b'transplant_source', } def extsetup(ui): entry = extensions.wrapcommand(commands.table, b'commit', _commit) options = entry[1] options.append( ( b'', b'extra', [], _(b'set a changeset\'s extra values'), _(b"KEY=VALUE"), ) ) def _commit(orig, ui, repo, *pats, **opts): if util.safehasattr(repo, 'unfiltered'): repo = repo.unfiltered() class repoextra(repo.__class__): def commit(self, *innerpats, **inneropts): extras = opts.get('extra') for raw in extras: if b'=' not in raw: msg = _( b"unable to parse '%s', should follow " b"KEY=VALUE format" ) raise error.Abort(msg % raw) k, v = raw.split(b'=', 1) if not k: msg = _(b"unable to parse '%s', keys can't be empty") raise error.Abort(msg % raw) if re.search(br'[^\w-]', k): msg = _( b"keys can only contain ascii letters, digits," b" '_' and '-'" ) raise error.Abort(msg) if k in usedinternally: msg = _( b"key '%s' is used internally, can't be set " b"manually" ) raise error.Abort(msg % k) inneropts['extra'][k] = v return super(repoextra, self).commit(*innerpats, **inneropts) repo.__class__ = repoextra return orig(ui, repo, *pats, **opts)