diff mercurial/chgserver.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 d1338b4e39d0
children 82210d88d814
line wrap: on
line diff
--- a/mercurial/chgserver.py	Sat Nov 17 19:11:45 2018 +0900
+++ b/mercurial/chgserver.py	Mon Nov 12 21:10:51 2018 +0900
@@ -246,6 +246,10 @@
     rpath = options['repository']
     path, newlui = dispatch._getlocal(newui, rpath, wd=cwd)
 
+    extensions.populateui(newui)
+    if newui is not newlui:
+        extensions.populateui(newlui)
+
     return (newui, newlui)
 
 class channeledsystem(object):