[PATCH 07 of 10 py3] bundle2: obtain repr() of exception in a python3-safe way

Yuya Nishihara yuya at tcha.org
Wed Aug 2 11:31:06 EDT 2017


On Tue, 01 Aug 2017 16:34:35 -0400, Augie Fackler wrote:
> # HG changeset patch
> # User Augie Fackler <augie at google.com>
> # Date 1500909551 14400
> #      Mon Jul 24 11:19:11 2017 -0400
> # Node ID 89d7a53b500a213396ab3c8e043a31dc5538ccaf
> # Parent  4c1f4e109bf90a8352a25a6b45a80fabcac6306b
> bundle2: obtain repr() of exception in a python3-safe way
> 
> This was exposed by other problems in bundle generation, but I'm not
> sure how to test it for now.
> 
> diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py
> --- a/mercurial/bundle2.py
> +++ b/mercurial/bundle2.py
> @@ -1021,11 +1021,12 @@ class bundlepart(object):
>              ui.debug('bundle2-generatorexit\n')
>              raise
>          except BaseException as exc:
> +            bexc = pycompat.bytestr(exc)

This can raise UnicodeEncodeError because IOError on Python 3 may contain
non-ASCII unicode strings, for example. But still it is better, so queued.

I've queued 1, 5-10 for default, thanks.


More information about the Mercurial-devel mailing list