help: add some help for hgweb.config files
authorMatt Mackall <mpm@selenic.com>
Mon, 26 Apr 2010 11:03:40 -0500
changeset 10999 38182ed043b7
parent 10998 2d4225faa61a
child 11000 338167735124
help: add some help for hgweb.config files
mercurial/help.py
mercurial/help/hgweb.txt
tests/test-globalopts.out
tests/test-help.out
--- a/mercurial/help.py	Mon Apr 26 11:03:40 2010 -0500
+++ b/mercurial/help.py	Mon Apr 26 11:03:40 2010 -0500
@@ -97,4 +97,5 @@
      loaddoc('templates')),
     (['urls'], _('URL Paths'), loaddoc('urls')),
     (["extensions"], _("Using additional features"), extshelp),
+    (["hgweb"], _("Configuring hgweb"), loaddoc('hgweb')),
 )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/help/hgweb.txt	Mon Apr 26 11:03:40 2010 -0500
@@ -0,0 +1,46 @@
+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 hgrc 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 documentation.
+
+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.
--- a/tests/test-globalopts.out	Mon Apr 26 11:03:40 2010 -0500
+++ b/tests/test-globalopts.out	Mon Apr 26 11:03:40 2010 -0500
@@ -212,6 +212,7 @@
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
 
 use "hg -v help" to show aliases and global options
 Mercurial Distributed SCM
@@ -281,6 +282,7 @@
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
 
 use "hg -v help" to show aliases and global options
 %% not tested: --debugger
--- a/tests/test-help.out	Mon Apr 26 11:03:40 2010 -0500
+++ b/tests/test-help.out	Mon Apr 26 11:03:40 2010 -0500
@@ -105,6 +105,7 @@
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
 
 use "hg -v help" to show aliases and global options
  add          add the specified files on the next commit
@@ -170,6 +171,7 @@
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
 %% test short command list with verbose option
 Mercurial Distributed SCM (version xxx)
 
@@ -595,6 +597,7 @@
  templating   Template Usage
  urls         URL Paths
  extensions   Using additional features
+ hgweb        Configuring hgweb
 
 use "hg -v help" to show aliases and global options
 %% test list of commands with command with no help text