# HG changeset patch # User Bryan O'Sullivan # Date 1127457104 25200 # Node ID b3d44e9b30921b4317ec825b8b86ea11f0198839 # Parent b47f96a178a3d9437a1367e6813967e8ed1ecf6f Make revlog constructor more discerning in its treatment of errors. diff -r b47f96a178a3 -r b3d44e9b3092 mercurial/revlog.py --- a/mercurial/revlog.py Thu Sep 22 23:19:47 2005 -0700 +++ b/mercurial/revlog.py Thu Sep 22 23:31:44 2005 -0700 @@ -10,9 +10,9 @@ of the GNU General Public License, incorporated herein by reference. """ -import zlib, struct, sha, binascii, heapq -import mdiff from node import * +from demandload import demandload +demandload(globals(), "binascii errno heapq mdiff sha struct urllib2 zlib") def hash(text, p1, p2): """generate a hash from the given text and its parent hashes @@ -179,7 +179,11 @@ try: i = self.opener(self.indexfile).read() - except IOError: + except urllib2.URLError: + raise + except IOError, inst: + if inst.errno != errno.ENOENT: + raise i = "" if len(i) > 10000: