--- a/mercurial/debugcommands.py Wed Jun 13 22:51:08 2018 +0530
+++ b/mercurial/debugcommands.py Thu Jun 14 11:47:51 2018 -0400
@@ -2289,7 +2289,13 @@
if opts['logiofd']:
# Line buffered because output is line based.
- logfh = os.fdopen(int(opts['logiofd']), r'ab', 1)
+ try:
+ logfh = os.fdopen(int(opts['logiofd']), r'ab', 1)
+ except OSError as e:
+ if e.errno != errno.ESPIPE:
+ raise
+ # can't seek a pipe, so `ab` mode fails on py3
+ logfh = os.fdopen(int(opts['logiofd']), r'wb', 1)
elif opts['logiofile']:
logfh = open(opts['logiofile'], 'ab', 1)