blackbox: initialize logger with repo instance
authorYuya Nishihara <yuya@tcha.org>
Sun, 11 Nov 2018 20:05:38 +0900
changeset 40798 567e164f89b8
parent 40797 3ede5d1724bb
child 40799 7e6834ade51d
blackbox: initialize logger with repo instance The blackboxlogger is unusable without a repo. Let's simply initialize it with a repo instance.
hgext/blackbox.py
--- a/hgext/blackbox.py	Sat Nov 17 20:56:25 2018 +0900
+++ b/hgext/blackbox.py	Sun Nov 11 20:05:38 2018 +0900
@@ -139,17 +139,15 @@
 _lastlogger = proxylogger()
 
 class blackboxlogger(object):
-    def __init__(self, ui):
-        self._repo = None
+    def __init__(self, ui, repo):
+        self._repo = repo
         self._trackedevents = set(ui.configlist('blackbox', 'track'))
 
     @property
     def _bbvfs(self):
-        vfs = None
-        if self._repo:
-            vfs = self._repo.vfs
-            if not vfs.isdir('.'):
-                vfs = None
+        vfs = self._repo.vfs
+        if not vfs.isdir('.'):
+            vfs = None
         return vfs
 
     def tracked(self, event):
@@ -188,9 +186,6 @@
             ui.debug('warning: cannot write to blackbox.log: %s\n' %
                      encoding.strtolocal(err.strerror))
 
-    def setrepo(self, repo):
-        self._repo = repo
-
 def uipopulate(ui):
     ui.setlogger(b'blackbox', _lastlogger)
 
@@ -203,9 +198,8 @@
 
     # Since blackbox.log is stored in the repo directory, the logger should be
     # instantiated per repository.
-    logger = blackboxlogger(ui)
+    logger = blackboxlogger(ui, repo)
     ui.setlogger(b'blackbox', logger)
-    logger.setrepo(repo)
 
     # Set _lastlogger even if ui.log is not called. This gives blackbox a
     # fallback place to log