Mercurial > hg
view doc/runrst @ 40661:380f5131ee7b
lfs: handle URLErrors to add additional information
Sometimes the blob server is hit first (e.g. on push), and sometimes it's hit
last (e.g. pull). Throw in depth first subrepo operations, and things quickly
get insane. It wasn't even mentioning LFS, so just saying "connection refused"
can be confusing- especially if the blob server is a secondary server and
connecting to the repo server works.
The exception handler for the transfer handler will print the full path to the
blob, but that seems fine given that it might be necessary to debug a second
server. (We don't yet support a standalone blob server, so the handler for the
Batch API will cover 99.9% of the current problems. But it might as well be
handled now while I'm thinking about it.)
The function for translating to a message was mostly borrowed from
scmutil.catchall().
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 15 Nov 2018 18:08:29 -0500 |
parents | 4e4fae1dda5c |
children | 15cccbacd5ce |
line wrap: on
line source
#!/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' """ 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={}, content=[]): 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)