Mercurial > hg
view doc/runrst @ 47682:78f7f0d490ee
dirstate-v2: Move fixed-size tree metadata into the docket file
Before this changeset, the dirstate-v2 data file contained not only nodes
and paths that may be reused when appending to an existing file,
but also some fixed-size metadata that applies to the entire tree
and was added at the end of the data file for every append.
This moves that metadata into the docket file, so that repeated "append"
operations without meaningful changes don’t actually need to grow any file.
Differential Revision: https://phab.mercurial-scm.org/D11098
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Thu, 15 Jul 2021 23:02:17 +0200 |
parents | d4ba4d51f85f |
children | 6000f5b25c9b |
line wrap: on
line source
#!/usr/bin/env python3 # # runrst - register custom roles and run correct writer # # Copyright 2010 Olivia Mackall <olivia@selenic.com> and others # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. """usage: %s WRITER args... where WRITER is the name of a Docutils writer such as 'html' or 'manpage' """ from __future__ import absolute_import import sys try: import docutils.core as core import docutils.nodes as nodes import docutils.utils as utils import docutils.parsers.rst.roles as roles except ImportError: sys.stderr.write( "abort: couldn't generate documentation: docutils " "module is missing\n" ) sys.stderr.write( "please install python-docutils or see " "http://docutils.sourceforge.net/\n" ) sys.exit(-1) def role_hg(name, rawtext, text, lineno, inliner, options=None, content=None): text = "hg " + utils.unescape(text) linktext = nodes.literal(rawtext, text) parts = text.split() cmd, args = parts[1], parts[2:] refuri = "hg.1.html#%s" % cmd if cmd == 'help' and args: if args[0] == 'config': # :hg:`help config` refuri = "hgrc.5.html" elif args[0].startswith('config.'): # :hg:`help config.SECTION...` refuri = "hgrc.5.html#%s" % args[0].split('.', 2)[1] elif len(args) >= 2 and args[0] == '-c': # :hg:`help -c COMMAND ...` is equivalent to :hg:`COMMAND` # (mainly for :hg:`help -c config`) refuri = "hg.1.html#%s" % args[1] else: refuri = "hg.1.html#%s" % args[0] node = nodes.reference(rawtext, '', linktext, refuri=refuri) return [node], [] roles.register_local_role("hg", role_hg) if __name__ == "__main__": if len(sys.argv) < 2: sys.stderr.write(__doc__ % sys.argv[0]) sys.exit(1) writer = sys.argv[1] del sys.argv[1] core.publish_cmdline(writer_name=writer)