Mercurial > public > mercurial-scm > hg
comparison mercurial/chgserver.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 | d1338b4e39d0 |
children | 82210d88d814 |
comparison
equal
deleted
inserted
replaced
40728:2cd5f1fac788 | 40729:c93d046d4300 |
---|---|
243 # load wd and repo config, copied from dispatch.py | 243 # load wd and repo config, copied from dispatch.py |
244 cwd = options['cwd'] | 244 cwd = options['cwd'] |
245 cwd = cwd and os.path.realpath(cwd) or None | 245 cwd = cwd and os.path.realpath(cwd) or None |
246 rpath = options['repository'] | 246 rpath = options['repository'] |
247 path, newlui = dispatch._getlocal(newui, rpath, wd=cwd) | 247 path, newlui = dispatch._getlocal(newui, rpath, wd=cwd) |
248 | |
249 extensions.populateui(newui) | |
250 if newui is not newlui: | |
251 extensions.populateui(newlui) | |
248 | 252 |
249 return (newui, newlui) | 253 return (newui, newlui) |
250 | 254 |
251 class channeledsystem(object): | 255 class channeledsystem(object): |
252 """Propagate ui.system() request in the following format: | 256 """Propagate ui.system() request in the following format: |