[PATCH 06 of 12 RFC v2] localrepo: add refreshui method
Idan Kamara
idankk86 at gmail.com
Wed Jun 15 21:09:18 UTC 2011
# HG changeset patch
# User Idan Kamara <idankk86 at gmail.com>
# Date 1307443149 -10800
# Node ID e07023e255e64145d73b2e709a0a7e92d9ff5191
# Parent 4dbd17520d9cffe9823684ff4fd10195282bd805
localrepo: add refreshui method
Allows cached repos to refresh their internal ui.
This is mostly useful for changes that affect output, e.g. verbose/debug flags.
diff -r 4dbd17520d9c -r e07023e255e6 mercurial/localrepo.py
--- a/mercurial/localrepo.py Wed Jun 08 14:54:52 2011 +0300
+++ b/mercurial/localrepo.py Tue Jun 07 13:39:09 2011 +0300
@@ -25,6 +25,18 @@
supported = supportedformats | set(('store', 'fncache', 'shared',
'dotencode'))
+ def refreshui(self, baseui):
+ # in case cached properties have a reference to the old ui
+ self.invalidate()
+
+ self.baseui = baseui
+ self.ui = baseui.copy()
+ try:
+ self.ui.readconfig(self.join("hgrc"), self.root)
+ extensions.loadall(self.ui)
+ except IOError:
+ pass
+
def __init__(self, baseui, path=None, create=False):
repo.repository.__init__(self)
self.root = os.path.realpath(util.expandpath(path))
@@ -33,14 +45,8 @@
self.auditor = scmutil.pathauditor(self.root, self._checknested)
self.opener = scmutil.opener(self.path)
self.wopener = scmutil.opener(self.root)
- self.baseui = baseui
- self.ui = baseui.copy()
- try:
- self.ui.readconfig(self.join("hgrc"), self.root)
- extensions.loadall(self.ui)
- except IOError:
- pass
+ self.refreshui(baseui)
if not os.path.isdir(self.path):
if create:
More information about the Mercurial-devel
mailing list