diff mercurial/hgweb/hgwebdir_mod.py @ 40729:c93d046d4300

extensions: add "uipopulate" hook, called per instance, not per process In short, this is the "reposetup" function for ui. It allows us to modify ui attributes without extending ui.__class__. Before, the only way to do that was to abuse the config dictionary, which is copied across ui instances. See the next patch for usage example.
author Yuya Nishihara <yuya@tcha.org>
date Mon, 12 Nov 2018 21:10:51 +0900
parents 2cd5f1fac788
children 46781c1b5049
line wrap: on
line diff
--- a/mercurial/hgweb/hgwebdir_mod.py	Sat Nov 17 19:11:45 2018 +0900
+++ b/mercurial/hgweb/hgwebdir_mod.py	Mon Nov 12 21:10:51 2018 +0900
@@ -272,6 +272,7 @@
         if not baseui:
             # set up environment for new ui
             extensions.loadall(self.ui)
+            extensions.populateui(self.ui)
 
     def refresh(self):
         if self.ui:
@@ -308,6 +309,7 @@
             paths = self.conf
         elif isinstance(self.conf, dict):
             paths = self.conf.items()
+        extensions.populateui(u)
 
         repos = findrepos(paths)
         for prefix, root in u.configitems('collections'):