annotate hgwebdir.cgi @ 1740:f95654385065

add --daemon option to serve command. for issue 45. code looks odd because it is portable to windows. windows does not have os.fork, so have to spawn and use pipe to tell parent ready instead.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Fri, 17 Feb 2006 16:29:30 -0800
parents 8a39df05d2c1
children b0f6af327fd4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
941
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
1 #!/usr/bin/env python
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
2 #
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
3 # An example CGI script to export multiple hgweb repos, edit as necessary
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
4
1064
8d791bea49d4 Removed obsolete imports from hgwebdir.cgi
Thomas Arendsen Hein <thomas@intevation.de>
parents: 941
diff changeset
5 import cgitb, sys
941
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
6 cgitb.enable()
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
7
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
8 # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
9 from mercurial import hgweb
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
10
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
11 # The config file looks like this:
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
12 # [paths]
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
13 # virtual/path = /real/path
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
14 # virtual/path = /real/path
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
15
1144
8a39df05d2c1 Documented passing list or dict instead of config file in hgwebdir.cgi
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1064
diff changeset
16 # Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
8a39df05d2c1 Documented passing list or dict instead of config file in hgwebdir.cgi
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1064
diff changeset
17 # or use a dictionary with entries like 'virtual/path': '/real/path'
8a39df05d2c1 Documented passing list or dict instead of config file in hgwebdir.cgi
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1064
diff changeset
18
941
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
19 h = hgweb.hgwebdir("hgweb.config")
4cf418c2a013 Add a multi-repository server
mpm@selenic.com
parents:
diff changeset
20 h.run()