##// END OF EJS Templates
lfs: only hardlink between the usercache and local store if the blob verifies...
lfs: only hardlink between the usercache and local store if the blob verifies This fixes the issue where verify (and other read commands) would propagate corrupt blobs. I originalled coded this to only hardlink if 'verify=True' for store.read(), but then good blobs weren't being linked, and this broke a bunch of tests. (The blob in repo5 that is being corrupted seems to be linked into repo5 in the loop running dumpflog.py prior to it being corrupted, but only if verify=False is handled too.) It's probably better to do a one time extra verification in order to create these files, so that the repo can be copied to a removable drive. Adding the same check to store.write() was only for completeness, but also needs to do a one time extra verification to avoid breaking tests.

File last commit:

r28076:18c6b271 default
r35493:bb6a80fc @10 default
Show More
runrst
61 lines | 1.9 KiB | text/plain | TextLexer
Martin Geisler
doc: add generic frontend to rst2man and rst2html...
r10971 #!/usr/bin/env python
#
# 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'
"""
import sys
Nicolas Dumazet
runrst: try to be more helpful if docutils is not installed
r11707 try:
from docutils.parsers.rst import roles
from docutils.core import publish_cmdline
from docutils import nodes, utils
except ImportError:
sys.stderr.write("abort: couldn't generate documentation: docutils "
"module is missing\n")
Martin Geisler
runrst: improve error message when Docutils is missing...
r15314 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
def role_hg(name, rawtext, text, lineno, inliner,
options={}, content=[]):
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]
Martin Geisler
doc: make links for hg role...
r10974 node = nodes.reference(rawtext, '', linktext,
FUJIWARA Katsunori
doc: translate from :hg:`help config` to a valid link to hgrc.5.html...
r28075 refuri=refuri)
Martin Geisler
doc, minirst: support hg interpreted text role
r10972 return [node], []
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]
publish_cmdline(writer_name=writer)