Mercurial > public > mercurial-scm > hg-stable
diff mercurial/hgweb/hgwebdir_mod.py @ 40763: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'):