comparison hgext/largefiles/lfutil.py @ 15548:f76584098c88 stable

largefiles: fix 'hg clone . ../foo' OSError abort Operating on a non-existant file can cause both IOError and OSError, depending on the function used: open raises IOError, os.lstat raises OSError. The largefiles code called dirstate.normal, which in turn calls os.lstat, so OSError is the right exception to catch here.
author Martin Geisler <mg@lazybytes.net>
date Tue, 22 Nov 2011 17:51:43 +0100
parents db8b0ee74025
children e89385e4ef8d
comparison
equal deleted inserted replaced
15538:b0a88bda3381 15548:f76584098c88
156 hash = readstandin(repo, lfile) 156 hash = readstandin(repo, lfile)
157 lfdirstate.normallookup(lfile) 157 lfdirstate.normallookup(lfile)
158 try: 158 try:
159 if hash == hashfile(lfile): 159 if hash == hashfile(lfile):
160 lfdirstate.normal(lfile) 160 lfdirstate.normal(lfile)
161 except IOError, err: 161 except OSError, err:
162 if err.errno != errno.ENOENT: 162 if err.errno != errno.ENOENT:
163 raise 163 raise
164 164
165 lfdirstate.write() 165 lfdirstate.write()
166 166