diff --git a/bin/hgweb.config b/bin/hgweb.config new file mode 100644 index 0000000..f953a23 --- /dev/null +++ b/bin/hgweb.config @@ -0,0 +1,10 @@ +[web] +style = gitweb + +#[paths] +#w9 = /gsoc/hg/w9/ + +[collections] +/gsoc/hg = /gsoc/hg/ +/var/hg = /var/hg/ + diff --git a/bin/hgwebdir.cgi b/bin/hgwebdir.cgi new file mode 100755 index 0000000..5fe4b16 --- /dev/null +++ b/bin/hgwebdir.cgi @@ -0,0 +1,47 @@ +#!/usr/bin/env python +# +# An example CGI script to export multiple hgweb repos, edit as necessary + +# send python tracebacks to the browser if an error occurs: +import cgitb +cgitb.enable() + +# adjust python path if not a system-wide install: +#import sys +#sys.path.insert(0, "/path/to/python/lib") + +# If you'd like to serve pages with UTF-8 instead of your default +# locale charset, you can do so by uncommenting the following lines. +# Note that this will cause your .hgrc files to be interpreted in +# UTF-8 and all your repo files to be displayed using UTF-8. +# +#import os +#os.environ["HGENCODING"] = "UTF-8" + +from mercurial.hgweb.hgwebdir_mod import hgwebdir +from mercurial.hgweb.request import wsgiapplication +import mercurial.hgweb.wsgicgi as wsgicgi + +# The config file looks like this. You can have paths to individual +# repos, collections of repos in a directory tree, or both. +# +# [paths] +# virtual/path = /real/path +# virtual/path = /real/path +# +# [collections] +# /prefix/to/strip/off = /root/of/tree/full/of/repos +# +# collections example: say directory tree /foo contains repos /foo/bar, +# /foo/quux/baz. Give this config section: +# [collections] +# /foo = /foo +# Then repos will list as bar and quux/baz. +# +# Alternatively you can pass a list of ('virtual/path', '/real/path') tuples +# or use a dictionary with entries like 'virtual/path': '/real/path' + +def make_web_app(): + return hgwebdir("hgweb.config") + +wsgicgi.launch(wsgiapplication(make_web_app))