changeset 1969:6d17d420c46c

write_bundle: close the file before removing it in case of failure
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Fri, 17 Mar 2006 18:53:04 +0100
parents 37dd4928d042
children 119165543ce6
files mercurial/commands.py
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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)