author | Matt Mackall <mpm@selenic.com> |
Wed, 22 Oct 2008 15:41:32 -0500 | |
changeset 7211 | 25c0dee16ee0 |
parent 6142 | 50a277e6ceae |
child 7450 | 79d1bb737c16 |
permissions | -rw-r--r-- |
941 | 1 |
#!/usr/bin/env python |
2 |
# |
|
3 |
# An example CGI script to export multiple hgweb repos, edit as necessary |
|
4 |
||
5244
79279b5583c6
cgi: sys.path.insert should be before importing mercurial
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5197
diff
changeset
|
5 |
# adjust python path if not a system-wide install: |
79279b5583c6
cgi: sys.path.insert should be before importing mercurial
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5197
diff
changeset
|
6 |
#import sys |
79279b5583c6
cgi: sys.path.insert should be before importing mercurial
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5197
diff
changeset
|
7 |
#sys.path.insert(0, "/path/to/python/lib") |
79279b5583c6
cgi: sys.path.insert should be before importing mercurial
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5197
diff
changeset
|
8 |
|
5197
55860a45bbf2
Enable demandimport only in scripts, not in importable modules (issue605)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3868
diff
changeset
|
9 |
# enable importing on demand to reduce startup time |
55860a45bbf2
Enable demandimport only in scripts, not in importable modules (issue605)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3868
diff
changeset
|
10 |
from mercurial import demandimport; demandimport.enable() |
55860a45bbf2
Enable demandimport only in scripts, not in importable modules (issue605)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3868
diff
changeset
|
11 |
|
6080
4baad19c4801
hgweb: disable cgitb by default
Maxim Dounin <mdounin@mdounin.ru>
parents:
5995
diff
changeset
|
12 |
# Uncomment to send python tracebacks to the browser if an error occurs: |
4baad19c4801
hgweb: disable cgitb by default
Maxim Dounin <mdounin@mdounin.ru>
parents:
5995
diff
changeset
|
13 |
#import cgitb |
4baad19c4801
hgweb: disable cgitb by default
Maxim Dounin <mdounin@mdounin.ru>
parents:
5995
diff
changeset
|
14 |
#cgitb.enable() |
941 | 15 |
|
3868
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
16 |
# If you'd like to serve pages with UTF-8 instead of your default |
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
17 |
# locale charset, you can do so by uncommenting the following lines. |
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
18 |
# Note that this will cause your .hgrc files to be interpreted in |
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
19 |
# UTF-8 and all your repo files to be displayed using UTF-8. |
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
20 |
# |
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
21 |
#import os |
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
22 |
#os.environ["HGENCODING"] = "UTF-8" |
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
23 |
|
2506
d0db3462d568
This patch make several WSGI related alterations.
Eric Hopper <hopper@omnifarious.org>
parents:
1829
diff
changeset
|
24 |
from mercurial.hgweb.hgwebdir_mod import hgwebdir |
d0db3462d568
This patch make several WSGI related alterations.
Eric Hopper <hopper@omnifarious.org>
parents:
1829
diff
changeset
|
25 |
import mercurial.hgweb.wsgicgi as wsgicgi |
941 | 26 |
|
1829
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
27 |
# The config file looks like this. You can have paths to individual |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
28 |
# repos, collections of repos in a directory tree, or both. |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
29 |
# |
941 | 30 |
# [paths] |
31 |
# virtual/path = /real/path |
|
32 |
# virtual/path = /real/path |
|
1829
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
33 |
# |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
34 |
# [collections] |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
35 |
# /prefix/to/strip/off = /root/of/tree/full/of/repos |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
36 |
# |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
37 |
# collections example: say directory tree /foo contains repos /foo/bar, |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
38 |
# /foo/quux/baz. Give this config section: |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
39 |
# [collections] |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
40 |
# /foo = /foo |
b0f6af327fd4
hgwebdir: export collections of repos
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1144
diff
changeset
|
41 |
# Then repos will list as bar and quux/baz. |
3868
6033d9f28052
hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3781
diff
changeset
|
42 |
# |
1144
8a39df05d2c1
Documented passing list or dict instead of config file in hgwebdir.cgi
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1064
diff
changeset
|
43 |
# 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
|
44 |
# 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
|
45 |
|
6141
90e5c82a3859
Backed out changeset b913d3aacddc (see issue971/msg5317)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5995
diff
changeset
|
46 |
application = hgwebdir('hgweb.config') |
90e5c82a3859
Backed out changeset b913d3aacddc (see issue971/msg5317)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5995
diff
changeset
|
47 |
wsgicgi.launch(application) |