# HG changeset patch # User Brendan Cully # Date 1205025558 28800 # Node ID 2eb18c78028796dc8330eeb6fe553cf01e9fa3fc # Parent 1939e29151ca81bc9999bc1e1b57240a4c55dc4c Support web.baseurl in hgwebdir, overriding SCRIPT_NAME diff -r 1939e29151ca -r 2eb18c780287 mercurial/hgweb/hgwebdir_mod.py --- a/mercurial/hgweb/hgwebdir_mod.py Sat Mar 08 12:40:33 2008 +0100 +++ b/mercurial/hgweb/hgwebdir_mod.py Sat Mar 08 17:19:18 2008 -0800 @@ -28,6 +28,7 @@ self.style = None self.stripecount = None self.repos_sorted = ('name', False) + self._baseurl = None if isinstance(config, (list, tuple)): self.repos = cleannames(config) self.repos_sorted = ('', False) @@ -48,6 +49,8 @@ self.style = cp.get('web', 'style') if cp.has_option('web', 'stripes'): self.stripecount = int(cp.get('web', 'stripes')) + if cp.has_option('web', 'baseurl'): + self._baseurl = cp.get('web', 'baseurl') if cp.has_section('paths'): self.repos.extend(cleannames(cp.items('paths'))) if cp.has_section('collections'): @@ -233,6 +236,9 @@ and "-" or "", column)) for column in sortable] + if self._baseurl is not None: + req.env['SCRIPT_NAME'] = self._baseurl + return tmpl("index", entries=entries, subdir=subdir, sortcolumn=sortcolumn, descending=descending, **dict(sort)) @@ -254,6 +260,9 @@ def config(section, name, default=None, untrusted=True): return self.parentui.config(section, name, default, untrusted) + if self._baseurl is not None: + req.env['SCRIPT_NAME'] = self._baseurl + url = req.env.get('SCRIPT_NAME', '') if not url.endswith('/'): url += '/'