Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/logcmdutil.py @ 36153:c1104fe76e69
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
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 11 Feb 2018 16:50:45 -0800 |
parents | 006ff7268c5c |
children | 1abf089a1d70 |
comparison
equal
deleted
inserted
replaced
36152:83246d6920f2 | 36153:c1104fe76e69 |
---|---|
79 hunksfilterfn=hunksfilterfn) | 79 hunksfilterfn=hunksfilterfn) |
80 | 80 |
81 if fp is not None or ui.canwritewithoutlabels(): | 81 if fp is not None or ui.canwritewithoutlabels(): |
82 out = fp or ui | 82 out = fp or ui |
83 if stat: | 83 if stat: |
84 chunks = patch.diffstat(util.iterlines(chunks), width=width) | 84 chunks = [patch.diffstat(util.iterlines(chunks), width=width)] |
85 for chunk in util.filechunkiter(util.chunkbuffer(chunks)): | 85 for chunk in util.filechunkiter(util.chunkbuffer(chunks)): |
86 out.write(chunk) | 86 out.write(chunk) |
87 else: | 87 else: |
88 if stat: | 88 if stat: |
89 chunks = patch.diffstatui(util.iterlines(chunks), width=width) | 89 chunks = patch.diffstatui(util.iterlines(chunks), width=width) |