mercurial/help/hgweb.txt
author Adrian Buehlmann <adrian@cadifra.com>
Sun, 10 Jun 2012 03:05:59 +0200
changeset 16897 2774576dee4d
parent 13839 8d960240faac
child 17104 5a9acb0b2086
permissions -rw-r--r--
tests/run-tests: avoid C:/ in arguments MSYS replaces C:/... in arguments with C;... as it interprets the C:/ as a colon separated POSIX path list. The colon is replaced with ; (path separator on Windows) according to http://www.mingw.org/wiki/Posix_path_conversion So we must not replace \ with / for neither $TESTTMP nor $TESTDIR, but we have to keep replacing \ with / for the Popen4 call of function hghave. If we don't do the latter, test-run-tests.t will fail with $ python run-tests.py --local test-run-tests.t --- C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t +++ C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t.err @@ -70,6 +70,7 @@ tested #else $ echo skipped + skipped #endif #if false An additional tweak in test-ssh.t is needed that globs away an encoded path, as it can't be translated back to $TESTTMP, because the backslashes in the output have been already encoded as %5C. This patch makes test-ssh.t pass in MSYS on Windows.

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.