diff -r 13cb25bb7607 -r 4f86c58c6c56 mercurial/hgweb/hgwebdir_mod.py --- a/mercurial/hgweb/hgwebdir_mod.py Fri Jul 06 08:55:36 2007 +0200 +++ b/mercurial/hgweb/hgwebdir_mod.py Fri Jul 06 09:15:17 2007 -0700 @@ -220,15 +220,7 @@ req.write(staticfile(static, fname, req) or tmpl('error', error='%r not found' % fname)) elif virtual: - while virtual: - real = dict(self.repos).get(virtual) - if real: - break - up = virtual.rfind('/') - if up < 0: - break - virtual = virtual[:up] - if real: + if virtual in dict(self.repos): req.env['REPO_NAME'] = virtual try: repo = hg.repository(parentui, real) @@ -238,7 +230,7 @@ except hg.RepoError, inst: req.write(tmpl("error", error=str(inst))) else: - subdir=req.env.get("PATH_INFO", "").strip('/') + '/' + subdir=virtual + '/' if [r for r in self.repos if r[0].startswith(subdir)]: makeindex(req, subdir) else: