# HG changeset patch # User Benoit Boissinot # Date 2006-03-17 17:53:04 # Node ID 6d17d420c46c8721e23bb960298378d715b2fbe2 # Parent 37dd4928d0422725c5a5db9b2923437c03b05801 write_bundle: close the file before removing it in case of failure diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -297,8 +297,10 @@ def write_bundle(cg, filename, compress= 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 @@ def incoming(ui, repo, source="default", 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)