hgweb.cgi
author Vadim Gelfer <vadim.gelfer@gmail.com>
Fri, 28 Apr 2006 15:50:22 -0700
changeset 2155 ff255b41b4aa
parent 391 5f65a108a559
child 2506 d0db3462d568
permissions -rw-r--r--
support hooks written in python. to write hook in python, create module with hook function inside. make sure mercurial can import module (put it in $PYTHONPATH or load it as extension). hook function should look like this: def myhook(ui, repo, hooktype, **kwargs): if hook_passes: return True elif hook_explicitly_fails: return False elif some_other_failure: import util raise util.Abort('helpful failure message') else: return # implicit return of None makes hook fail! then in .hgrc, add hook with "python:" prefix: [hooks] commit = python:mymodule.myhook
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
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
     5
import cgitb, os, sys
391
5f65a108a559 hgweb: pull cgitb into CGI script example, where it can easily be disabled
mpm@selenic.com
parents: 202
diff changeset
     6
cgitb.enable()
5f65a108a559 hgweb: pull cgitb into CGI script example, where it can easily be disabled
mpm@selenic.com
parents: 202
diff changeset
     7
159
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
     8
# sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
     9
from mercurial import hgweb
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
    10
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
    11
h = hgweb.hgweb("/path/to/repo", "repository name")
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
    12
h.run()