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: