From 6a7f73bb9a55ab4463238af4c5096e6bf3789934 Mon Sep 17 00:00:00 2001 From: Daniel Kutik Date: Mon, 9 Oct 2023 13:21:25 +0200 Subject: [PATCH] git_command: read1 needs a size in py3.6 Not setting size causes "TypeError: read1() takes exactly one argument (0 given)" in Python 3.6. In Python 3.7 onwards size defaults to -1, which means an arbitrary number of bytes will be returned. Compare https://docs.python.org/3.6/library/io.html#io.BufferedReader.read1 and https://docs.python.org/3.7/library/io.html#io.BufferedIOBase.read1 for more details. Change-Id: Ia4aaf8140ead9493ec650fac167c641569e6a9d8 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/388718 Reviewed-by: Mike Frysinger Tested-by: Daniel Kutik Commit-Queue: Daniel Kutik --- git_command.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/git_command.py b/git_command.py index 4b17f78d..2e4974fa 100644 --- a/git_command.py +++ b/git_command.py @@ -503,7 +503,8 @@ class GitCommand(object): A str containing everything read from the in_stream. """ buffer = "" - chunk = in_stream.read1() + read_size = 1024 if sys.version_info < (3, 7) else -1 + chunk = in_stream.read1(read_size) while chunk: # Convert to str. if not hasattr(chunk, "encode"): @@ -513,7 +514,7 @@ class GitCommand(object): out_stream.write(chunk) out_stream.flush() - chunk = in_stream.read1() + chunk = in_stream.read1(read_size) return buffer