Mercurial > hg
view mercurial/help/hgweb.txt @ 14077:c285bdb0572a
util.url: copy urllib.unquote() into util to improve startup times
The ui class uses util.hasscheme() in a couple of places, causing hg
to import urllib even when it doesn't need to. This copies
urllib.unquote() to avoid that import.
perfstartup time before the URL refactoring (8796fb6af67e):
! wall 0.050692 comb 0.000000 user 0.000000 sys 0.000000 (best of 100)
before this change:
! wall 0.064742 comb 0.000000 user 0.000000 sys 0.000000 (best of 100)
after this change:
! wall 0.052126 comb 0.000000 user 0.000000 sys 0.000000 (best of 100
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Sat, 30 Apr 2011 09:43:23 -0700 |
parents | 8d960240faac |
children | 5a9acb0b2086 |
line wrap: on
line source
Mercurial's internal web server, hgweb, can serve either a single repository, or a collection of them. In the latter case, a special configuration file can be used to specify the repository paths to use and global web configuration options. This file uses the same syntax as other Mercurial configuration files, but only the following sections are recognized: - web - paths - collections The ``web`` section can specify all the settings described in the web section of the hgrc(5) documentation. See :hg:`help config` for information on where to find the manual page. The ``paths`` section provides mappings of physical repository paths to virtual ones. For instance:: [paths] projects/a = /foo/bar projects/b = /baz/quux web/root = /real/root/* / = /real/root2/* virtual/root2 = /real/root2/** - The first two entries make two repositories in different directories appear under the same directory in the web interface - The third entry maps every Mercurial repository found in '/real/root' into 'web/root'. This format is preferred over the [collections] one, since using absolute paths as configuration keys is not supported on every platform (especially on Windows). - The fourth entry is a special case mapping all repositories in '/real/root2' in the root of the virtual directory. - The fifth entry recursively finds all repositories under the real root, and maps their relative paths under the virtual root. The ``collections`` section provides mappings of trees of physical repositories paths to virtual ones, though the paths syntax is generally preferred. For instance:: [collections] /foo = /foo Here, the left side will be stripped off all repositories found in the right side. Thus ``/foo/bar`` and ``foo/quux/baz`` will be listed as ``bar`` and ``quux/baz`` respectively.