def _read_stderr(self, encoding='<STR_LIT:utf-8>'):
for line in self.proc.stderr:<EOL><INDENT>err_line = line.decode(encoding, errors='<STR_LIT>')<EOL>if self.proc.returncode != <NUM_LIT:0>:<EOL><INDENT>if self.failed_message is not None:<EOL><INDENT>logger.debug("<STR_LIT>" + self.failed_message)<EOL><DEDENT>self.failed_message = err_line<EOL><DEDENT>else:<EOL><INDENT>logger.debug("<STR_LIT>" + err_line)<EOL><DEDENT><DEDENT>
Reads self.proc.stderr.

        Usually, this should be read in a thread, to prevent blocking
        the read from stdout of the stderr buffer is filled, and this
        function is not called becuase the program is busy in the
        stderr reading loop.

        Reads self.proc.stderr (self.proc is the subprocess running
        the git command), and reads / writes self.failed_message
        (the message sent to stderr when git fails, usually one line).