diff --git a/mercurial/commandserver.py b/mercurial/commandserver.py --- a/mercurial/commandserver.py +++ b/mercurial/commandserver.py @@ -73,8 +73,8 @@ class channeledinput(object): s = self._read(size, self.channel) buf = s while s: + s = self._read(size, self.channel) buf += s - s = self._read(size, self.channel) return buf else: @@ -104,8 +104,8 @@ class channeledinput(object): # keep asking for more until there's either no more or # we got a full line while s and s[-1] != '\n': + s = self._read(size, 'L') buf += s - s = self._read(size, 'L') return buf else: