# HG changeset patch # User Gregory Szorc # Date 1518396645 28800 # Node ID c1104fe76e6917a8e219611d6713ea9e32a00df4 # Parent 83246d6920f2dde8e22c0177f7d34a2a476bc550 py3: preserve chunks as an iterable of bytes patch.diffstat() returns a bytes. util.chunkbuffer() expects an iterable of bytes. Feeding it a single bytes instance on Python 3 will iterate the characters as integers. This blows up util.chunkbuffer. Differential Revision: https://phab.mercurial-scm.org/D2162 diff -r 83246d6920f2 -r c1104fe76e69 mercurial/logcmdutil.py --- a/mercurial/logcmdutil.py Sun Feb 11 16:40:02 2018 -0800 +++ b/mercurial/logcmdutil.py Sun Feb 11 16:50:45 2018 -0800 @@ -81,7 +81,7 @@ if fp is not None or ui.canwritewithoutlabels(): out = fp or ui if stat: - chunks = patch.diffstat(util.iterlines(chunks), width=width) + chunks = [patch.diffstat(util.iterlines(chunks), width=width)] for chunk in util.filechunkiter(util.chunkbuffer(chunks)): out.write(chunk) else: