Mercurial > hg
view hgext/closehead.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 | 9d2b2df2c2ba |
children | 5ced12cfa41b |
line wrap: on
line source
# closehead.py - Close arbitrary heads without checking them out first # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. '''close arbitrary heads without checking them out first''' from __future__ import absolute_import from mercurial.i18n import _ from mercurial import ( bookmarks, cmdutil, context, error, pycompat, registrar, scmutil, ) cmdtable = {} command = registrar.command(cmdtable) # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should # be specifying the version(s) of Mercurial they are tested with, or # leave the attribute unspecified. testedwith = b'ships-with-hg-core' commitopts = cmdutil.commitopts commitopts2 = cmdutil.commitopts2 commitopts3 = [(b'r', b'rev', [], _(b'revision to check'), _(b'REV'))] @command( b'close-head|close-heads', commitopts + commitopts2 + commitopts3, _(b'[OPTION]... [REV]...'), helpcategory=command.CATEGORY_CHANGE_MANAGEMENT, inferrepo=True, ) def close_branch(ui, repo, *revs, **opts): """close the given head revisions This is equivalent to checking out each revision in a clean tree and running ``hg commit --close-branch``, except that it doesn't change the working directory. The commit message must be specified with -l or -m. """ def docommit(rev): cctx = context.memctx( repo, parents=[rev, None], text=message, files=[], filectxfn=None, user=opts.get(b'user'), date=opts.get(b'date'), extra=extra, ) tr = repo.transaction(b'commit') ret = repo.commitctx(cctx, True) bookmarks.update(repo, [rev, None], ret) cctx.markcommitted(ret) tr.close() opts = pycompat.byteskwargs(opts) revs += tuple(opts.get(b'rev', [])) revs = scmutil.revrange(repo, revs) if not revs: raise error.Abort(_(b'no revisions specified')) heads = [] for branch in repo.branchmap(): heads.extend(repo.branchheads(branch)) heads = {repo[h].rev() for h in heads} for rev in revs: if rev not in heads: raise error.Abort(_(b'revision is not an open head: %d') % rev) message = cmdutil.logmessage(ui, opts) if not message: raise error.Abort(_(b"no commit message specified with -l or -m")) extra = {b'close': b'1'} with repo.wlock(), repo.lock(): for rev in revs: r = repo[rev] branch = r.branch() extra[b'branch'] = branch docommit(r) return 0