mercurial/hgweb.py
changeset 1181 4f5001f5b4c3
parent 1180 fe3eb1628c40
child 1182 24d553b598e8
--- a/mercurial/hgweb.py
+++ b/mercurial/hgweb.py
@@ -927,15 +927,18 @@ def server(path, name, templates, addres
 # This is a stopgap
 class hgwebdir:
     def __init__(self, config):
+        def cleannames(items):
+            return [(name.strip('/'), path) for name, path in items]
+
         if type(config) == type([]):
-            self.repos = config
+            self.repos = cleannames(config)
         elif type(config) == type({}):
-            self.repos = config.items()
+            self.repos = cleannames(config.items())
             self.repos.sort()
         else:
             cp = ConfigParser.SafeConfigParser()
             cp.read(config)
-            self.repos = cp.items("paths")
+            self.repos = cleannames(cp.items("paths"))
             self.repos.sort()
 
     def run(self, req=hgrequest()):
@@ -956,7 +959,7 @@ class hgwebdir:
                 u.readconfig(file(os.path.join(path, '.hg', 'hgrc')))
                 get = u.config
 
-                url = ('/'.join([req.env["REQUEST_URI"], name])
+                url = ('/'.join([req.env["REQUEST_URI"].split('?')[0], name])
                        .replace("//", "/"))
 
                 yield dict(contact=get("web", "contact") or