##// END OF EJS Templates
copies: extract value comparison in the python copy tracing...
copies: extract value comparison in the python copy tracing This mirror what we did in the Rust code. This is useful to prepare rework for this comparison logic that we will need to handle more advanced chaining cases (when merges are chained). Differential Revision: https://phab.mercurial-scm.org/D9590

File last commit:

r46434:c102b704 default
r46776:3a0c4133 default
Show More
runrst
69 lines | 2.0 KiB | text/plain | TextLexer
Gregory Szorc
global: use python3 in shebangs...
r46434 #!/usr/bin/env python3
Martin Geisler
doc: add generic frontend to rst2man and rst2html...
r10971 #
# runrst - register custom roles and run correct writer
#
# Copyright 2010 Matt Mackall <mpm@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'
"""
Yuya Nishihara
doc: use modern import style in runrst
r39508 from __future__ import absolute_import
Martin Geisler
doc: add generic frontend to rst2man and rst2html...
r10971 import sys
Gregory Szorc
black: blacken scripts...
r44089
Nicolas Dumazet
runrst: try to be more helpful if docutils is not installed
r11707 try:
Yuya Nishihara
doc: use modern import style in runrst
r39508 import docutils.core as core
import docutils.nodes as nodes
import docutils.utils as utils
import docutils.parsers.rst.roles as roles
Nicolas Dumazet
runrst: try to be more helpful if docutils is not installed
r11707 except ImportError:
Gregory Szorc
black: blacken scripts...
r44089 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"
)
Nicolas Dumazet
runrst: try to be more helpful if docutils is not installed
r11707 sys.exit(-1)
Martin Geisler
doc, minirst: support hg interpreted text role
r10972
Gregory Szorc
black: blacken scripts...
r44089
Gregory Szorc
doc: don't use mutable default arguments...
r44088 def role_hg(name, rawtext, text, lineno, inliner, options=None, content=None):
Martin Geisler
doc: make links for hg role...
r10974 text = "hg " + utils.unescape(text)
linktext = nodes.literal(rawtext, text)
parts = text.split()
cmd, args = parts[1], parts[2:]
FUJIWARA Katsunori
doc: translate from :hg:`help config` to a valid link to hgrc.5.html...
r28075 refuri = "hg.1.html#%s" % cmd
Martin Geisler
doc: make links for hg role...
r10974 if cmd == 'help' and args:
FUJIWARA Katsunori
doc: translate from :hg:`help config` to a valid link to hgrc.5.html...
r28075 if args[0] == 'config':
# :hg:`help config`
refuri = "hgrc.5.html"
FUJIWARA Katsunori
doc: translate from :hg:`help config.SECTION` to a valid link to hgrc.5.html...
r28076 elif args[0].startswith('config.'):
# :hg:`help config.SECTION...`
refuri = "hgrc.5.html#%s" % args[0].split('.', 2)[1]
FUJIWARA Katsunori
doc: translate from :hg:`help config` to a valid link to hgrc.5.html...
r28075 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]
Gregory Szorc
black: blacken scripts...
r44089 node = nodes.reference(rawtext, '', linktext, refuri=refuri)
Martin Geisler
doc, minirst: support hg interpreted text role
r10972 return [node], []
Gregory Szorc
black: blacken scripts...
r44089
Martin Geisler
doc, minirst: support hg interpreted text role
r10972 roles.register_local_role("hg", role_hg)
Martin Geisler
doc: add generic frontend to rst2man and rst2html...
r10971
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]
Yuya Nishihara
doc: use modern import style in runrst
r39508 core.publish_cmdline(writer_name=writer)