Mercurial > hg > mercurial-crew-with-dirclash
diff mercurial/hgweb/hgwebdir_mod.py @ 4833:40007fe82be9
Last change broke new-style URLs
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Fri, 06 Jul 2007 10:11:48 -0700 |
parents | 4f86c58c6c56 |
children | 7031d9e2fa45 |
line wrap: on
line diff
--- a/mercurial/hgweb/hgwebdir_mod.py +++ b/mercurial/hgweb/hgwebdir_mod.py @@ -220,7 +220,15 @@ class hgwebdir(object): req.write(staticfile(static, fname, req) or tmpl('error', error='%r not found' % fname)) elif virtual: - if virtual in dict(self.repos): + while virtual: + real = dict(self.repos).get(virtual) + if real: + break + up = virtual.rfind('/') + if up < 0: + break + virtual = virtual[:up] + if real: req.env['REPO_NAME'] = virtual try: repo = hg.repository(parentui, real) @@ -230,7 +238,7 @@ class hgwebdir(object): except hg.RepoError, inst: req.write(tmpl("error", error=str(inst))) else: - subdir=virtual + '/' + subdir=req.env.get("PATH_INFO", "").strip('/') + '/' if [r for r in self.repos if r[0].startswith(subdir)]: makeindex(req, subdir) else: