bundlerepo: use context manager for file I/O in _writetempbundle

This commit is contained in:
Bryan O'Sullivan 2016-01-12 14:48:27 -08:00
parent 584240dc82
commit a2111cb180

View File

@ -245,17 +245,14 @@ class bundlerepository(localrepo.localrepository):
fdtemp, temp = self.vfs.mkstemp(prefix="hg-bundle-", fdtemp, temp = self.vfs.mkstemp(prefix="hg-bundle-",
suffix=".hg10un") suffix=".hg10un")
self.tempfile = temp self.tempfile = temp
fptemp = os.fdopen(fdtemp, 'wb')
try: with os.fdopen(fdtemp, 'wb') as fptemp:
fptemp.write(header) fptemp.write(header)
while True: while True:
chunk = read(2**18) chunk = read(2**18)
if not chunk: if not chunk:
break break
fptemp.write(chunk) fptemp.write(chunk)
finally:
fptemp.close()
return self.vfs.open(self.tempfile, mode="rb") return self.vfs.open(self.tempfile, mode="rb")
self._tempparent = None self._tempparent = None