diff -r b6a4881cec19 -r d683c7367989 mercurial/util.py --- a/mercurial/util.py Sun Mar 18 15:32:49 2018 -0400 +++ b/mercurial/util.py Sat Mar 10 23:58:01 2018 -0500 @@ -715,11 +715,13 @@ def _writedata(self, data): if not self.logdata: self.fh.write('\n') + self.fh.flush() return # Simple case writes all data on a single line. if b'\n' not in data: self.fh.write(': %s\n' % escapedata(data)) + self.fh.flush() return # Data with newlines is written to multiple lines. @@ -727,6 +729,7 @@ lines = data.splitlines(True) for line in lines: self.fh.write('%s> %s\n' % (self.name, escapedata(line))) + self.fh.flush() def read(self, res, size=-1): if not self.reads: