diff -r b59620c52eec -r ab379eed2e31 mercurial/bundle2.py --- a/mercurial/bundle2.py Fri Sep 15 18:57:50 2017 +0200 +++ b/mercurial/bundle2.py Fri Sep 15 18:37:29 2017 -0400 @@ -1050,7 +1050,11 @@ header.append(key) header.append(value) ## finalize header - headerchunk = ''.join(header) + try: + headerchunk = ''.join(header) + except TypeError: + raise TypeError(r'Found a non-bytes trying to ' + r'build bundle part header: %r' % header) outdebug(ui, 'header chunk size: %i' % len(headerchunk)) yield _pack(_fpartheadersize, len(headerchunk)) yield headerchunk