diff options
author | Joel Holdsworth <jholdsworth@nvidia.com> | 2021-12-16 16:46:17 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-12-17 01:06:36 +0300 |
commit | 9732e2229c9a1f5285109eecef0dddff16be0ace (patch) | |
tree | eab139cb12ad9a6dc5bb2f85f4786eeae3086427 /git-p4.py | |
parent | e665e98ec1d1558a55a3e7e5fd5e88d70396ec96 (diff) |
git-p4: add raw option to read_pipelines
Previously the read_lines function always decoded the result lines. In
order to improve support for non-decoded binary processing of data in
git-p4.py, this patch adds a raw option to the function that allows
decoding to be disabled.
Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-p4.py')
-rwxr-xr-x | git-p4.py | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -340,17 +340,19 @@ def p4_read_pipe(c, ignore_error=False, raw=False): real_cmd = p4_build_cmd(c) return read_pipe(real_cmd, ignore_error, raw=raw) -def read_pipe_lines(c): +def read_pipe_lines(c, raw=False): if verbose: sys.stderr.write('Reading pipe: %s\n' % str(c)) expand = not isinstance(c, list) p = subprocess.Popen(c, stdout=subprocess.PIPE, shell=expand) pipe = p.stdout - val = [decode_text_stream(line) for line in pipe.readlines()] + lines = pipe.readlines() + if not raw: + lines = [decode_text_stream(line) for line in lines] if pipe.close() or p.wait(): die('Command failed: %s' % str(c)) - return val + return lines def p4_read_pipe_lines(c): """Specifically invoke p4 on the command supplied. """ |