hgweb.cgi
author Bryan O'Sullivan <bos@serpentine.com>
Tue, 24 Apr 2007 10:53:25 -0700
changeset 4371 d7ad1e42a368
parent 3868 6033d9f28052
child 5197 55860a45bbf2
permissions -rw-r--r--
util._matcher: speed up regexp matching. In 4babaa52badf, Benoit made a change that substantially slows matching when a big .hgignore file is in play, because it calls into the regexp matching engine potentially hundreds of times per file to be matched. I've partly rolled back his change, so that we only call into the matcher once per file, but preserved the ability to report a meaningful error message if there's a syntax error in the regexp.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
202
e875a0cf7f3a Call python via env in hgweb.cgi
mpm@selenic.com
parents: 159
diff changeset
     1
#!/usr/bin/env python
159
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
     2
#
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
     3
# An example CGI script to use hgweb, edit as necessary
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
     4
3868
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
     5
# send python tracebacks to the browser if an error occurs:
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
     6
import cgitb
391
5f65a108a559 hgweb: pull cgitb into CGI script example, where it can easily be disabled
mpm@selenic.com
parents: 202
diff changeset
     7
cgitb.enable()
5f65a108a559 hgweb: pull cgitb into CGI script example, where it can easily be disabled
mpm@selenic.com
parents: 202
diff changeset
     8
3868
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
     9
# adjust python path if not a system-wide install:
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
    10
#import sys
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
    11
#sys.path.insert(0, "/path/to/python/lib")
159
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
    12
3781
713e35dcc321 hgweb: report detected character set
Matt Mackall <mpm@selenic.com>
parents: 2506
diff changeset
    13
# If you'd like to serve pages with UTF-8 instead of your default
713e35dcc321 hgweb: report detected character set
Matt Mackall <mpm@selenic.com>
parents: 2506
diff changeset
    14
# locale charset, you can do so by uncommenting the following lines.
713e35dcc321 hgweb: report detected character set
Matt Mackall <mpm@selenic.com>
parents: 2506
diff changeset
    15
# Note that this will cause your .hgrc files to be interpreted in
713e35dcc321 hgweb: report detected character set
Matt Mackall <mpm@selenic.com>
parents: 2506
diff changeset
    16
# UTF-8 and all your repo files to be displayed using UTF-8.
713e35dcc321 hgweb: report detected character set
Matt Mackall <mpm@selenic.com>
parents: 2506
diff changeset
    17
#
3868
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
    18
#import os
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
    19
#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
    20
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
    21
from mercurial.hgweb.hgweb_mod import hgweb
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
    22
from mercurial.hgweb.request import wsgiapplication
6033d9f28052 hgweb.cgi and hgwebdir.cgi fixes/cleanups for user configurable parts:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3781
diff changeset
    23
import mercurial.hgweb.wsgicgi as wsgicgi
3781
713e35dcc321 hgweb: report detected character set
Matt Mackall <mpm@selenic.com>
parents: 2506
diff changeset
    24
2506
d0db3462d568 This patch make several WSGI related alterations.
Eric Hopper <hopper@omnifarious.org>
parents: 391
diff changeset
    25
def make_web_app():
d0db3462d568 This patch make several WSGI related alterations.
Eric Hopper <hopper@omnifarious.org>
parents: 391
diff changeset
    26
    return hgweb("/path/to/repo", "repository name")
d0db3462d568 This patch make several WSGI related alterations.
Eric Hopper <hopper@omnifarious.org>
parents: 391
diff changeset
    27
d0db3462d568 This patch make several WSGI related alterations.
Eric Hopper <hopper@omnifarious.org>
parents: 391
diff changeset
    28
wsgicgi.launch(wsgiapplication(make_web_app))