# HG changeset patch # User mpm@selenic.com # Date 1124515525 28800 # Node ID abfb5cc97fcd8c08e2149171fc7d67634015a53f # Parent 0aaeee519c66a6a648836218629528e5b878b322 Add ui.setconfig overlay This can simplify option passing diff -r 0aaeee519c66 -r abfb5cc97fcd mercurial/ui.py --- a/mercurial/ui.py Fri Aug 19 18:56:20 2005 -0800 +++ b/mercurial/ui.py Fri Aug 19 21:25:25 2005 -0800 @@ -12,6 +12,7 @@ class ui: def __init__(self, verbose=False, debug=False, quiet=False, interactive=True): + self.overlay = {} self.cdata = ConfigParser.SafeConfigParser() self.cdata.read([os.path.normpath(hgrc) for hgrc in "/etc/mercurial/hgrc", os.path.expanduser("~/.hgrc")]) @@ -29,14 +30,21 @@ def readconfig(self, fp): self.cdata.readfp(fp) - def config(self, section, val, default=None): - if self.cdata.has_option(section, val): - return self.cdata.get(section, val) + def setconfig(self, section, name, val): + self.overlay[(section, name)] = val + + def config(self, section, name, default=None): + if self.overlay.has_key((section, name)): + return self.overlay[(section, name)] + if self.cdata.has_option(section, name): + return self.cdata.get(section, name) return default - def configbool(self, section, val, default=False): - if self.cdata.has_option(section, val): - return self.cdata.getboolean(section, val) + def configbool(self, section, name, default=False): + if self.overlay.has_key((section, name)): + return self.overlay[(section, name)] + if self.cdata.has_option(section, name): + return self.cdata.getboolean(section, name) return default def configitems(self, section):