--- a/mercurial/hgweb/hgwebdir_mod.py Wed Jul 22 22:50:34 2009 +0200
+++ b/mercurial/hgweb/hgwebdir_mod.py Wed Jul 22 15:26:27 2009 -0700
@@ -6,7 +6,7 @@
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2, incorporated herein by reference.
-import os, time
+import os, re, time
from mercurial.i18n import _
from mercurial import ui, hg, util, templater
from mercurial import error, encoding
@@ -225,7 +225,9 @@
parts.insert(0, req.env['PATH_INFO'].rstrip('/'))
if req.env['SCRIPT_NAME']:
parts.insert(0, req.env['SCRIPT_NAME'])
- url = ('/'.join(parts).replace("//", "/")) + '/'
+ m = re.match('((?:https?://)?)(.*)', '/'.join(parts))
+ # squish repeated slashes out of the path component
+ url = m.group(1) + re.sub('/+', '/', m.group(2)) + '/'
# update time with local timezone
try: