diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2016-02-13 18:02:37 +0100 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2016-02-13 18:03:14 +0100 |
commit | d2f6fef3c887719a250c78c22cba723b2200df1b (patch) | |
tree | c42c49d25ed64502983f2a35a942f8d23aaa4c15 /git | |
parent | ad3931357e5bb01941b50482b4b53934c0b715e3 (diff) | |
download | gitpython-d2f6fef3c887719a250c78c22cba723b2200df1b.tar.gz |
fix(cmd): safely read from stderr
Fixes #383
Diffstat (limited to 'git')
-rw-r--r-- | git/cmd.py | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -315,8 +315,16 @@ class Git(LazyMixin): :warn: may deadlock if output or error pipes are used and not handled separately. :raise GitCommandError: if the return status is not 0""" status = self.proc.wait() + + def read_all_from_possibly_closed_stream(stream): + try: + return stream.read() + except ValueError: + return '' + if status != 0: - raise GitCommandError(self.args, status, self.proc.stderr.read()) + errstr = read_all_from_possibly_closed_stream(self.proc.stderr.read) + raise GitCommandError(self.args, status, errstr) # END status handling return status # END auto interrupt |