# HG changeset patch # User Patrick Mezard # Date 1262539002 -3600 # Node ID dcaa80294c7934732246b337cfa667276447ef3b # Parent 3373ecddadba087b672c9ca12ca9465154641048# Parent d2847c4523e8fb21bec23a2ad04e2d3f9cdcae73 Merge with crew-stable diff -r 3373ecddadba -r dcaa80294c79 mercurial/hgweb/wsgicgi.py --- a/mercurial/hgweb/wsgicgi.py Sat Jan 02 18:14:45 2010 +0100 +++ b/mercurial/hgweb/wsgicgi.py Sun Jan 03 18:16:42 2010 +0100 @@ -17,8 +17,11 @@ environ = dict(os.environ.iteritems()) environ.setdefault('PATH_INFO', '') - if '.cgi' in environ['PATH_INFO']: - environ['PATH_INFO'] = environ['PATH_INFO'].split('.cgi', 1)[1] + if environ.get('SERVER_SOFTWARE', '').startswith('Microsoft-IIS'): + # IIS includes script_name in path_info + scriptname = environ['SCRIPT_NAME'] + if environ['PATH_INFO'].startswith(scriptname): + environ['PATH_INFO'] = environ['PATH_INFO'][len(scriptname):] environ['wsgi.input'] = sys.stdin environ['wsgi.errors'] = sys.stderr