diff -r 871c77e78f5d -r f4522df38c65 mercurial/sshrepo.py --- a/mercurial/sshrepo.py Wed Aug 03 16:41:14 2011 -0500 +++ b/mercurial/sshrepo.py Tue Aug 02 15:21:10 2011 -0400 @@ -164,6 +164,17 @@ def _recv(self): l = self.pipei.readline() + if l == '\n': + err = [] + while True: + line = self.pipee.readline() + if line == '-\n': + break + err.extend([line]) + if len(err) > 0: + # strip the trailing newline added to the last line server-side + err[-1] = err[-1][:-1] + self._abort(error.OutOfBandError(*err)) self.readerr() try: l = int(l)