Mercurial > hg
annotate contrib/hgweb.fcgi @ 33702:033484935391
exchange: access requirements on repo instead of peer
As part of formalizing the peer interface, I audited for attribute
accesses for non-internal names to find API violations. This
uncovered the code changed in this commit.
localpeer.requirements is just an alias to the repo's requirements
attribute. So, change the code to get the data from the source
instead of relying on a one-off attribute in the localpeer type.
Differential Revision: https://phab.mercurial-scm.org/D265
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 05 Aug 2017 15:15:20 -0700 |
parents | 85cba926cb59 |
children | 99e231afc29c |
rev | line source |
---|---|
4391
722417b3d7fa
Add hgwebdir.fcgi to contrib
Michael Gebetsroither <michael.geb@gmx.at>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
722417b3d7fa
Add hgwebdir.fcgi to contrib
Michael Gebetsroither <michael.geb@gmx.at>
parents:
diff
changeset
|
2 # |
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
3 # An example FastCGI script for use with flup, edit as necessary |
4391
722417b3d7fa
Add hgwebdir.fcgi to contrib
Michael Gebetsroither <michael.geb@gmx.at>
parents:
diff
changeset
|
4 |
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
5 # Path to repo or hgweb config to serve (see 'hg help hgweb') |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
6 config = "/path/to/repo/or/config" |
5244
79279b5583c6
cgi: sys.path.insert should be before importing mercurial
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5197
diff
changeset
|
7 |
15475
85cba926cb59
hgweb: add hint about finding library path with debuginstall
Matt Mackall <mpm@selenic.com>
parents:
11002
diff
changeset
|
8 # Uncomment and adjust if Mercurial is not installed system-wide |
85cba926cb59
hgweb: add hint about finding library path with debuginstall
Matt Mackall <mpm@selenic.com>
parents:
11002
diff
changeset
|
9 # (consult "installed modules" path from 'hg debuginstall'): |
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
10 #import sys; sys.path.insert(0, "/path/to/python/lib") |
5197
55860a45bbf2
Enable demandimport only in scripts, not in importable modules (issue605)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4391
diff
changeset
|
11 |
6085
e1f11b8a1e9e
hgweb: disable cgitb by default in hgwebdir.fcgi too
Maxim Dounin <mdounin@mdounin.ru>
parents:
5995
diff
changeset
|
12 # Uncomment to send python tracebacks to the browser if an error occurs: |
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
13 #import cgitb; cgitb.enable() |
4391
722417b3d7fa
Add hgwebdir.fcgi to contrib
Michael Gebetsroither <michael.geb@gmx.at>
parents:
diff
changeset
|
14 |
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
15 from mercurial import demandimport; demandimport.enable() |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
16 from mercurial.hgweb import hgweb |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
17 from flup.server.fcgi import WSGIServer |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
18 application = hgweb(config) |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7799
diff
changeset
|
19 WSGIServer(application).run() |