Mercurial > public > mercurial-scm > hg
diff hgext/blackbox.py @ 18786:ed39a8f94e95
blackbox: prevent failed I/O from causing hg to abort
Instead, we simply print a warning message if opening the blackbox log
file fails, or if writing to it fails.
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Wed, 20 Mar 2013 13:40:05 -0700 |
parents | 1506eb487ddd |
children | f56278a0a0c5 |
line wrap: on
line diff
--- a/hgext/blackbox.py Tue Mar 19 16:19:45 2013 -0700 +++ b/hgext/blackbox.py Wed Mar 20 13:40:05 2013 -0700 @@ -57,11 +57,20 @@ date = util.datestr(None, '%Y/%m/%d %H:%M:%S') user = getpass.getuser() formattedmsg = msg[0] % msg[1:] - blackbox.write('%s %s> %s' % (date, user, formattedmsg)) + try: + blackbox.write('%s %s> %s' % (date, user, formattedmsg)) + except IOError, err: + self.debug('warning: cannot write to blackbox.log: %s\n' % + err.strerror) lastblackbox = blackbox def setrepo(self, repo): - self._blackbox = repo.opener('blackbox.log', 'a') + try: + self._blackbox = repo.opener('blackbox.log', 'a') + except IOError, err: + self.debug('warning: cannot write to blackbox.log: %s\n' % + err.strerror) + self._blackbox = None ui.__class__ = blackboxui