Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revlog.py @ 1322:b3d44e9b3092
Make revlog constructor more discerning in its treatment of errors.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Thu, 22 Sep 2005 23:31:44 -0700 |
parents | eb3cc5e2eb89 |
children | 57220daf40e9 |
comparison
equal
deleted
inserted
replaced
1321:b47f96a178a3 | 1322:b3d44e9b3092 |
---|---|
8 | 8 |
9 This software may be used and distributed according to the terms | 9 This software may be used and distributed according to the terms |
10 of the GNU General Public License, incorporated herein by reference. | 10 of the GNU General Public License, incorporated herein by reference. |
11 """ | 11 """ |
12 | 12 |
13 import zlib, struct, sha, binascii, heapq | |
14 import mdiff | |
15 from node import * | 13 from node import * |
14 from demandload import demandload | |
15 demandload(globals(), "binascii errno heapq mdiff sha struct urllib2 zlib") | |
16 | 16 |
17 def hash(text, p1, p2): | 17 def hash(text, p1, p2): |
18 """generate a hash from the given text and its parent hashes | 18 """generate a hash from the given text and its parent hashes |
19 | 19 |
20 This hash combines both the current file contents and its history | 20 This hash combines both the current file contents and its history |
177 self.opener = opener | 177 self.opener = opener |
178 self.cache = None | 178 self.cache = None |
179 | 179 |
180 try: | 180 try: |
181 i = self.opener(self.indexfile).read() | 181 i = self.opener(self.indexfile).read() |
182 except IOError: | 182 except urllib2.URLError: |
183 raise | |
184 except IOError, inst: | |
185 if inst.errno != errno.ENOENT: | |
186 raise | |
183 i = "" | 187 i = "" |
184 | 188 |
185 if len(i) > 10000: | 189 if len(i) > 10000: |
186 # big index, let's parse it on demand | 190 # big index, let's parse it on demand |
187 parser = lazyparser(i, self) | 191 parser = lazyparser(i, self) |