From: Daniel Sonbolian <dsal3389@xxxxxxxxx> checking for an error condition before reading and/or decoding lines from the pip stream to avoid unnecessary computation Signed-off-by: Daniel Sonbolian <dsal3389@xxxxxxxxx> --- git-p4.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/git-p4.py b/git-p4.py index d26a980e5ac..097272a5543 100755 --- a/git-p4.py +++ b/git-p4.py @@ -399,11 +399,15 @@ def read_pipe_lines(c, raw=False, *k, **kw): p = subprocess.Popen(c, stdout=subprocess.PIPE, *k, **kw) pipe = p.stdout + + if p.wait(): + die('Command failed: {}'.format(' '.join(c))) + lines = pipe.readlines() + pipe.close() + if not raw: - lines = [decode_text_stream(line) for line in lines] - if pipe.close() or p.wait(): - die('Command failed: {}'.format(' '.join(c))) + return [decode_text_stream(line) for line in lines] return lines -- gitgitgadget