--- a/mercurial/dispatch.py Mon Oct 02 06:52:10 2017 +0100
+++ b/mercurial/dispatch.py Mon Oct 02 07:18:24 2017 +0100
@@ -75,6 +75,7 @@
def run():
"run the command in sys.argv"
+ _initstdio()
req = request(pycompat.sysargv[1:])
err = None
try:
@@ -95,6 +96,10 @@
req.ui.ferr.flush()
sys.exit(status & 255)
+def _initstdio():
+ for fp in (sys.stdin, sys.stdout, sys.stderr):
+ util.setbinary(fp)
+
def _getsimilar(symbols, value):
sim = lambda x: difflib.SequenceMatcher(None, value, x).ratio()
# The cutoff for similarity here is pretty arbitrary. It should