--- a/hgext/blackbox.py Fri Mar 22 17:27:06 2013 -0500
+++ b/hgext/blackbox.py Tue Mar 26 16:27:51 2013 -0700
@@ -47,6 +47,15 @@
if util.safehasattr(self, '_blackbox'):
blackbox = self._blackbox
+ elif util.safehasattr(self, '_bbopener'):
+ try:
+ self._blackbox = self._bbopener('blackbox.log', 'a')
+ except (IOError, OSError), err:
+ self.debug('warning: cannot write to blackbox.log: %s\n' %
+ err.strerror)
+ del self._bbopener
+ self._blackbox = None
+ blackbox = self._blackbox
else:
# certain ui instances exist outside the context of
# a repo, so just default to the last blackbox that
@@ -65,12 +74,7 @@
lastblackbox = blackbox
def setrepo(self, repo):
- try:
- self._blackbox = repo.opener('blackbox.log', 'a')
- except (IOError, OSError), err:
- self.debug('warning: cannot write to blackbox.log: %s\n' %
- err.strerror)
- self._blackbox = None
+ self._bbopener = repo.opener
ui.__class__ = blackboxui