D5812: py3: pass str into ValueError to prevent b'' prefix in output

Yuya Nishihara yuya at tcha.org
Sun Feb 3 07:46:30 EST 2019

>   I am not whether this is correct. This should have fix failure of `test-lfs-serve.t#lfsremote-on` failure on py3 but it does not.

As you guess, this isn't correct. For example, `_(unicode_sring)` will crash
if gettext is enabled.

I don't know why ValueError is used extensively in exchange.py and where it's
supposed to be caught, but the easiest workaround is to make a ValueError
subclass that implements __bytes__.

class ExchangeValueError(ValueError):
    __bytes__ = _tobytes

More information about the Mercurial-devel mailing list