Mercurial > hg
annotate contrib/hgweb.fcgi @ 31987:8823daaf4665
obsolescence: add test for the "branch replacement" logic during push, case D2
Mercurial checks for the introduction of new heads on push. Evolution comes
into play to detect if existing branches on the server are being replaced by
some of the new one we push.
The current code for this logic is very basic (eg: issue4354) and was poorly
tested. We have a better implementation coming in the evolve extension fixing
these issues and with more serious tests coverage. In the process of upstreaming
this improved logic, we start with adding the test case that are already passing
with the current implementation. Once they are all in, we'll upstream the better
implementation and the extra test cases.
See inline documentation for details about the test case added in this
changeset.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 13 Apr 2017 16:27:42 +0200 |
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() |