# HG changeset patch # User Benoit Boissinot # Date 1142617984 -3600 # Node ID 6d17d420c46c8721e23bb960298378d715b2fbe2 # Parent 37dd4928d0422725c5a5db9b2923437c03b05801 write_bundle: close the file before removing it in case of failure diff -r 37dd4928d042 -r 6d17d420c46c mercurial/commands.py --- a/mercurial/commands.py Fri Mar 17 09:49:28 2006 -0800 +++ b/mercurial/commands.py Fri Mar 17 18:53:04 2006 +0100 @@ -297,8 +297,10 @@ fh.write(z.compress(chunk)) fh.write(z.flush()) except: + fh.close() os.unlink(filename) raise + fh.close() def dodiff(fp, ui, repo, node1, node2, files=None, match=util.always, changes=None, text=False, opts={}): @@ -1790,7 +1792,6 @@ cg = other.changegroup(incoming, "incoming") write_bundle(cg, fname, compress=other.local(), fh=f) - f.close() if not other.local(): # use a bundlerepo other = bundlerepo.bundlerepository(ui, repo.root, fname)