extensions: kill ui readhooks
authorMatt Mackall <mpm@selenic.com>
Mon, 18 Jun 2007 13:24:34 -0500
changeset 4618 7c8f8b736365
parent 4617 669e76b7df24
child 4619 5fd7cc897542
extensions: kill ui readhooks Move .hgrc extension loading into localrepo
mercurial/cmdutil.py
mercurial/localrepo.py
mercurial/ui.py
--- a/mercurial/cmdutil.py	Mon Jun 18 13:24:34 2007 -0500
+++ b/mercurial/cmdutil.py	Mon Jun 18 13:24:34 2007 -0500
@@ -262,7 +262,6 @@
         os.chdir(cwd)
 
     extensions.loadall(ui)
-    ui.addreadhook(extensions.loadall)
 
     # read the local repository .hgrc into a local ui object
     # this will trigger its extensions to load
@@ -273,8 +272,9 @@
         try:
             lui = commands.ui.ui(parentui=ui)
             lui.readconfig(os.path.join(path, ".hg", "hgrc"))
+            extensions.loadall(lui)
         except IOError:
-            pass
+            extensions.loadall(ui)
 
     cmd, func, args, options, cmdoptions = parse(ui, args)
 
--- a/mercurial/localrepo.py	Mon Jun 18 13:24:34 2007 -0500
+++ b/mercurial/localrepo.py	Mon Jun 18 13:24:34 2007 -0500
@@ -10,7 +10,7 @@
 import repo, changegroup
 import changelog, dirstate, filelog, manifest, context
 import re, lock, transaction, tempfile, stat, mdiff, errno, ui
-import os, revlog, time, util
+import os, revlog, time, util, extensions
 
 class localrepository(repo.repository):
     capabilities = ('lookup', 'changegroupsubset')
@@ -76,6 +76,7 @@
         self.ui = ui.ui(parentui=parentui)
         try:
             self.ui.readconfig(self.join("hgrc"), self.root)
+            extensions.loadall(self.ui)
         except IOError:
             pass
 
--- a/mercurial/ui.py	Mon Jun 18 13:24:34 2007 -0500
+++ b/mercurial/ui.py	Mon Jun 18 13:24:34 2007 -0500
@@ -32,7 +32,6 @@
         if parentui is None:
             # this is the parent of all ui children
             self.parentui = None
-            self.readhooks = []
             self.quiet = quiet
             self.verbose = verbose
             self.debugflag = debug
@@ -52,7 +51,6 @@
         else:
             # parentui may point to an ui object which is already a child
             self.parentui = parentui.parentui or parentui
-            self.readhooks = self.parentui.readhooks[:]
             self.trusted_users = parentui.trusted_users.copy()
             self.trusted_groups = parentui.trusted_groups.copy()
             self.cdata = dupconfig(self.parentui.cdata)
@@ -154,11 +152,6 @@
         if root is None:
             root = os.path.expanduser('~')
         self.fixconfig(root=root)
-        for hook in self.readhooks:
-            hook(self)
-
-    def addreadhook(self, hook):
-        self.readhooks.append(hook)
 
     def readsections(self, filename, *sections):
         """Read filename and add only the specified sections to the config data