mercurial/sshpeer.py
changeset 36608 1151c731686e
parent 36536 3cd245945ef3
child 36628 70415568ea65
--- a/mercurial/sshpeer.py	Thu Feb 15 17:18:26 2018 +0100
+++ b/mercurial/sshpeer.py	Fri Mar 02 18:50:49 2018 -0500
@@ -365,6 +365,7 @@
         self._pipei = stdout
         self._pipee = stderr
         self._caps = caps
+        self._autoreadstderr = autoreadstderr
 
     # Commands that have a "framed" response where the first line of the
     # response contains the length of that response.
@@ -510,10 +511,12 @@
     def _getamount(self):
         l = self._pipei.readline()
         if l == '\n':
-            self._readerr()
+            if self._autoreadstderr:
+                self._readerr()
             msg = _('check previous remote output')
             self._abort(error.OutOfBandError(hint=msg))
-        self._readerr()
+        if self._autoreadstderr:
+            self._readerr()
         try:
             return int(l)
         except ValueError:
@@ -528,7 +531,8 @@
             self._pipeo.write(data)
         if flush:
             self._pipeo.flush()
-        self._readerr()
+        if self._autoreadstderr:
+            self._readerr()
 
 class sshv2peer(sshv1peer):
     """A peer that speakers version 2 of the transport protocol."""