- "import os" was missing in hgwebdir.cgi, added to comments for both script.
- HGENCODING has to be set before importing hgweb, otherwise you'll get
mixed encoding in changelog vs. file content/diffs.
- "import sys" is only needed when changing sys.path
- document purpose of cgitb.
First, it changes the server to be almost a generic WSGI server.
Second, it changes request.py to have wsgiapplication and
_wsgirequest. wsgiapplication is a class that creates _wsgirequests
when called by a WSGI compliant server. It needs to know whether
or not it should create hgwebdir or hgweb requests.
Lastly, wsgicgi.py is added, and the CGI scripts are altered to
use it to launch wsgiapplications in a WSGI compliant way.
As a side effect, all the keepalive code has been removed from
request.py. This code needs to be moved so that it is exclusively
in server.py
This merges a bunch of the ideas for a multi-repository CGI script and
simplifies things a bit.
It uses PATH_INFO so it generally wants paths of the form:
http://host/hg.cgi/virtualpath
This gets mapped via a simple config file to the real path. All info
about the repo is read from the repo's hgrc.