diff --git a/mercurial/hgweb.py b/mercurial/hgweb.py --- 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