add filename to IOError if read of file fails.
if file replaced with directory or symlink, IOError not fully filled out.
--- a/mercurial/util.py Mon May 08 08:04:46 2006 -0700
+++ b/mercurial/util.py Mon May 08 08:20:56 2006 -0700
@@ -687,7 +687,13 @@
os.close(fd)
fp = posixfile(temp, "wb")
try:
- fp.write(posixfile(name, "rb").read())
+ try:
+ s = posixfile(name, "rb").read()
+ except IOError, inst:
+ if not getattr(inst, 'filename', None):
+ inst.filename = name
+ raise
+ fp.write(s)
except:
try: os.unlink(temp)
except: pass