--- a/mercurial/transaction.py Fri Feb 11 22:24:10 2011 +0800
+++ b/mercurial/transaction.py Fri Dec 24 15:23:01 2010 +0100
@@ -27,13 +27,17 @@
for f, o, ignore in entries:
if o or not unlink:
try:
- opener(f, 'a').truncate(o)
+ fp = opener(f, 'a')
+ fp.truncate(o)
+ fp.close()
except IOError:
report(_("failed to truncate %s\n") % f)
raise
else:
try:
- fn = opener(f).name
+ fp = opener(f)
+ fn = fp.name
+ fp.close()
os.unlink(fn)
except (IOError, OSError), inst:
if inst.errno != errno.ENOENT:
@@ -169,7 +173,10 @@
def rollback(opener, file, report):
entries = []
- for l in open(file).readlines():
+ fp = open(file)
+ lines = fp.readlines()
+ fp.close()
+ for l in lines:
f, o = l.split('\0')
entries.append((f, int(o), None))