Admin/Mercurial/hgwebdir.cgi
author wenzelm
Mon Aug 04 19:25:59 2008 +0200 (2008-08-04)
changeset 27725 6d133c2b681f
child 28000 ca56bbb99607
permissions -rwxr-xr-x
replaced mercurial.cgi by hgwebdir.cgi, resulting in http://isabelle.in.tum.de/repos/isabelle/
     1 #!/usr/bin/env python
     2 #
     3 # An example CGI script to export multiple hgweb repos, edit as necessary
     4 
     5 # adjust python path if not a system-wide install:
     6 import sys
     7 sys.path.insert(0, "/home/isabelle/html-data/isabelle-repos/mercurial-www4/lib64/python2.4/site-packages")
     8 
     9 # enable importing on demand to reduce startup time
    10 from mercurial import demandimport; demandimport.enable()
    11 
    12 # Uncomment to send python tracebacks to the browser if an error occurs:
    13 import cgitb
    14 cgitb.enable()
    15 
    16 # If you'd like to serve pages with UTF-8 instead of your default
    17 # locale charset, you can do so by uncommenting the following lines.
    18 # Note that this will cause your .hgrc files to be interpreted in
    19 # UTF-8 and all your repo files to be displayed using UTF-8.
    20 #
    21 import os
    22 os.environ["HGENCODING"] = "UTF-8"
    23 
    24 from mercurial.hgweb.hgwebdir_mod import hgwebdir
    25 import mercurial.hgweb.wsgicgi as wsgicgi
    26 
    27 # The config file looks like this.  You can have paths to individual
    28 # repos, collections of repos in a directory tree, or both.
    29 #
    30 # [paths]
    31 # virtual/path = /real/path
    32 # virtual/path = /real/path
    33 #
    34 # [collections]
    35 # /prefix/to/strip/off = /root/of/tree/full/of/repos
    36 #
    37 # collections example: say directory tree /foo contains repos /foo/bar,
    38 # /foo/quux/baz.  Give this config section:
    39 #   [collections]
    40 #   /foo = /foo
    41 # Then repos will list as bar and quux/baz.
    42 #
    43 # Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
    44 # or use a dictionary with entries like 'virtual/path': '/real/path'
    45 
    46 application = hgwebdir('/home/isabelle/html-data/isabelle-repos/hgweb.config')
    47 wsgicgi.launch(application)