diff -r fe79a5821e5a -r ed75909c4c67 mercurial/streamclone.py --- a/mercurial/streamclone.py Fri Mar 11 20:34:49 2016 -0500 +++ b/mercurial/streamclone.py Tue Mar 15 14:10:46 2016 -0700 @@ -206,7 +206,8 @@ # partially encode name over the wire for backwards compat yield '%s\0%d\n' % (store.encodedir(name), size) if size <= 65536: - yield svfs.read(name) + with svfs(name, 'rb') as fp: + yield fp.read(size) else: for chunk in util.filechunkiter(svfs(name), limit=size): yield chunk