diff -r 65a23cc8e75b -r a728e3695325 mercurial/hgweb/hgwebdir_mod.py --- a/mercurial/hgweb/hgwebdir_mod.py Sat Apr 14 16:36:15 2018 -0700 +++ b/mercurial/hgweb/hgwebdir_mod.py Sat Apr 14 01:12:55 2018 -0400 @@ -422,8 +422,12 @@ if real: # Re-parse the WSGI environment to take into account our # repository path component. + uenv = req.rawenv + if pycompat.ispy3: + uenv = {k.decode('latin1'): v for k, v in + uenv.iteritems()} req = requestmod.parserequestfromenv( - req.rawenv, reponame=virtualrepo, + uenv, reponame=virtualrepo, altbaseurl=self.ui.config('web', 'baseurl')) try: # ensure caller gets private copy of ui