# HG changeset patch # User Matt Mackall # Date 1386186148 21600 # Node ID d4be314b20711b6ecfa7a6f8b46970231134004a # Parent 09e41ac6289d878f2a2e4e7b7794f457ec7a069b hgweb: avoid initialization race (issue3953) diff -r 09e41ac6289d -r d4be314b2071 mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py Wed Dec 11 18:33:42 2013 -0600 +++ b/mercurial/hgweb/hgweb_mod.py Wed Dec 04 13:42:28 2013 -0600 @@ -59,15 +59,16 @@ u = baseui.copy() else: u = ui.ui() - self.repo = hg.repository(u, repo) + r = hg.repository(u, repo) else: - self.repo = repo + r = repo - self.repo = self._getview(self.repo) - self.repo.ui.setconfig('ui', 'report_untrusted', 'off') - self.repo.baseui.setconfig('ui', 'report_untrusted', 'off') - self.repo.ui.setconfig('ui', 'nontty', 'true') - self.repo.baseui.setconfig('ui', 'nontty', 'true') + r = self._getview(r) + r.ui.setconfig('ui', 'report_untrusted', 'off') + r.baseui.setconfig('ui', 'report_untrusted', 'off') + r.ui.setconfig('ui', 'nontty', 'true') + r.baseui.setconfig('ui', 'nontty', 'true') + self.repo = r hook.redirect(True) self.mtime = -1 self.size = -1 @@ -94,7 +95,8 @@ untrusted=untrusted) def _getview(self, repo): - viewconfig = self.config('web', 'view', 'served') + viewconfig = repo.ui.config('web', 'view', 'served', + untrusted=True) if viewconfig == 'all': return repo.unfiltered() elif viewconfig in repoview.filtertable: