# HG changeset patch # User Matt Mackall # Date 1178611025 18000 # Node ID 1a63b44f90c9cdcb41f61cfc7e1ec5c83f8a6111 # Parent b6146466b92a1503e28892fdb9cd6114fb0b2822 branch.cache: silently ignore I/O and OS errors diff -r b6146466b92a -r 1a63b44f90c9 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon May 07 22:30:36 2007 -0500 +++ b/mercurial/localrepo.py Tue May 08 02:57:05 2007 -0500 @@ -401,6 +401,10 @@ f = self.opener("branch.cache") lines = f.read().split('\n') f.close() + except (IOError, OSError): + return {}, nullid, nullrev + + try: last, lrev = lines.pop(0).split(" ", 1) last, lrev = bin(last), int(lrev) if not (lrev < self.changelog.count() and @@ -426,7 +430,7 @@ for label, node in branches.iteritems(): f.write("%s %s\n" % (hex(node), label)) f.rename() - except IOError: + except (IOError, OSError): pass def _updatebranchcache(self, partial, start, end):