##// END OF EJS Templates
convert/mtn: add support for using monotone's "automate stdio" when available...
convert/mtn: add support for using monotone's "automate stdio" when available Currently the convert extension spawns a new mtn process for each operation. For a large repository, this ends up being hundreds of thousands of processes. The following enables usage of monotone's "automate stdio" functionality - documented at: http://www.monotone.ca/docs/Automation.html#index-mtn-automate-stdio-188 The effect is that (after determining that a new enough mtn executable is available) a single long-running mtn process is used for all the operations, using stdin/stdout to send commands and read output. This has a pretty significant effect on the performance of some parts of the conversion process.

File last commit:

r10996:f6d41bfc default
r13760:ed97955e default
Show More
__init__.py
31 lines | 1.0 KiB | text/x-python | PythonLexer
# hgweb/__init__.py - web interface to a mercurial repository
#
# Copyright 21 May 2005 - (c) 2005 Jake Edge <jake@edge2.net>
# Copyright 2005 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
import os
import hgweb_mod, hgwebdir_mod
def hgweb(config, name=None, baseui=None):
'''create an hgweb wsgi object
config can be one of:
- repo object (single repo view)
- path to repo (single repo view)
- path to config file (multi-repo view)
- dict of virtual:real pairs (multi-repo view)
- list of virtual:real tuples (multi-repo view)
'''
if ((isinstance(config, str) and not os.path.isdir(config)) or
isinstance(config, dict) or isinstance(config, list)):
# create a multi-dir interface
return hgwebdir_mod.hgwebdir(config, baseui=baseui)
return hgweb_mod.hgweb(config, name=name, baseui=baseui)
def hgwebdir(config, baseui=None):
return hgwebdir_mod.hgwebdir(config, baseui=baseui)