D6783: httppeer: use context manager when writing temporary bundle to send
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Thu Sep 5 04:36:38 UTC 2019
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6783
AFFECTED FILES
mercurial/httppeer.py
CHANGE DETAILS
diff --git a/mercurial/httppeer.py b/mercurial/httppeer.py
--- a/mercurial/httppeer.py
+++ b/mercurial/httppeer.py
@@ -490,18 +490,16 @@
os.unlink(tempname)
def _calltwowaystream(self, cmd, fp, **args):
- fh = None
fp_ = None
filename = None
try:
# dump bundle to disk
fd, filename = pycompat.mkstemp(prefix="hg-bundle-", suffix=".hg")
- fh = os.fdopen(fd, r"wb")
- d = fp.read(4096)
- while d:
- fh.write(d)
+ with os.fdopen(fd, r"wb") as fh:
d = fp.read(4096)
- fh.close()
+ while d:
+ fh.write(d)
+ d = fp.read(4096)
# start http push
fp_ = httpconnection.httpsendfile(self.ui, filename, "rb")
headers = {r'Content-Type': r'application/mercurial-0.1'}
@@ -509,8 +507,7 @@
finally:
if fp_ is not None:
fp_.close()
- if fh is not None:
- fh.close()
+ if filename is not None:
os.unlink(filename)
def _callcompressable(self, cmd, **args):
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list