# HG changeset patch # User Mads Kiilerich # Date 1366062230 -7200 # Node ID 5083baa6cbf8bb210c9a0612f992359c76747582 # Parent 2a35296a6304917471eb69869770e078f5d74983 largefiles: remove blecch from lfutil.copyandhash - don't close the passed fd diff -r 2a35296a6304 -r 5083baa6cbf8 hgext/largefiles/lfutil.py --- a/hgext/largefiles/lfutil.py Mon Apr 15 23:43:44 2013 +0200 +++ b/hgext/largefiles/lfutil.py Mon Apr 15 23:43:50 2013 +0200 @@ -289,18 +289,11 @@ def copyandhash(instream, outfile): '''Read bytes from instream (iterable) and write them to outfile, - computing the SHA-1 hash of the data along the way. Close outfile - when done and return the hash.''' + computing the SHA-1 hash of the data along the way. Return the hash.''' hasher = util.sha1('') for data in instream: hasher.update(data) outfile.write(data) - - # Blecch: closing a file that somebody else opened is rude and - # wrong. But it's so darn convenient and practical! After all, - # outfile was opened just to copy and hash. - outfile.close() - return hasher.hexdigest() def hashrepofile(repo, file): diff -r 2a35296a6304 -r 5083baa6cbf8 hgext/largefiles/localstore.py --- a/hgext/largefiles/localstore.py Mon Apr 15 23:43:44 2013 +0200 +++ b/hgext/largefiles/localstore.py Mon Apr 15 23:43:50 2013 +0200 @@ -45,6 +45,7 @@ return lfutil.copyandhash(fd, tmpfile) finally: fd.close() + tmpfile.close() def _verifyfile(self, cctx, cset, contents, standin, verified): filename = lfutil.splitstandin(standin) diff -r 2a35296a6304 -r 5083baa6cbf8 hgext/largefiles/remotestore.py --- a/hgext/largefiles/remotestore.py Mon Apr 15 23:43:44 2013 +0200 +++ b/hgext/largefiles/remotestore.py Mon Apr 15 23:43:50 2013 +0200 @@ -79,6 +79,7 @@ tmpfile) finally: infile.close() + tmpfile.close() def _verifyfile(self, cctx, cset, contents, standin, verified): filename = lfutil.splitstandin(standin)