diff mercurial/hgweb/hgwebdir_mod.py @ 22087:af62f0280a76 stable

hgweb: avoid config object race with hgwebdir (issue4326) Turns out hgwebdir passes full repo objects to each hgweb request instance, but with a shared baseui. We explicitly break the sharing.
author Matt Mackall <mpm@selenic.com>
date Sun, 10 Aug 2014 13:53:36 -0500
parents 49f2d5644f04
children e48a5d3996c2
line wrap: on
line diff
--- a/mercurial/hgweb/hgwebdir_mod.py	Sat Aug 09 16:15:52 2014 -0500
+++ b/mercurial/hgweb/hgwebdir_mod.py	Sun Aug 10 13:53:36 2014 -0500
@@ -214,7 +214,8 @@
                     if real:
                         req.env['REPO_NAME'] = virtualrepo
                         try:
-                            repo = hg.repository(self.ui, real)
+                            # ensure caller gets private copy of ui
+                            repo = hg.repository(self.ui.copy(), real)
                             return hgweb(repo).run_wsgi(req)
                         except IOError, inst:
                             msg = inst.strerror