cmdserver: get file attributes of 'e'-channel from stdout, not from stderr
authorYuya Nishihara <yuya@tcha.org>
Sat, 27 Sep 2014 12:27:03 +0900
changeset 22562 2d85e664c377
parent 22561 1120b1e2f975
child 22563 8cc5e673cac0
cmdserver: get file attributes of 'e'-channel from stdout, not from stderr It seems wrong to get attributes from object different than the underlying file. In the following example, it doesn't make sense to flush stderr after writing to stdout: self.ferr.write(str(a)) if not getattr(self.ferr, 'closed', False): self.ferr.flush()
mercurial/commandserver.py
--- a/mercurial/commandserver.py	Sat Sep 27 12:15:01 2014 +0900
+++ b/mercurial/commandserver.py	Sat Sep 27 12:27:03 2014 +0900
@@ -153,7 +153,7 @@
             self.repo = self.repoui = None
 
         if mode == 'pipe':
-            self.cerr = channeledoutput(sys.stderr, sys.stdout, 'e')
+            self.cerr = channeledoutput(sys.stdout, sys.stdout, 'e')
             self.cout = channeledoutput(sys.stdout, sys.stdout, 'o')
             self.cin = channeledinput(sys.stdin, sys.stdout, 'I')
             self.cresult = channeledoutput(sys.stdout, sys.stdout, 'r')