# HG changeset patch # User Pierre-Yves David # Date 2019-11-16 19:07:49 # Node ID 4394687b298b0f72a1d7b54d798860ffdaa62863 # Parent 856cce0c255cc6ffbe164764cc152e3011c59fd7 pure: use string for exception in the pure version of base85 Without this change, running the test with python3 and --pure gives the following error:: --- /home/marmoute/src/mercurial-dev/tests/test-import-git.t +++ /home/marmoute/src/mercurial-dev/tests/test-import-git.t.err @@ -518,7 +518,7 @@ > > EOF applying patch from stdin - abort: could not decode "binary2" binary patch: bad base85 character at position 6 + abort: could not decode "binary2" binary patch: b'bad base85 character at position 6' [255] $ hg revert -aq To make the cext implementation, we use a "native" string for the exception. This fix the test failure. diff --git a/mercurial/pure/base85.py b/mercurial/pure/base85.py --- a/mercurial/pure/base85.py +++ b/mercurial/pure/base85.py @@ -67,7 +67,7 @@ def b85decode(text): acc = acc * 85 + _b85dec[c] except KeyError: raise ValueError( - b'bad base85 character at position %d' % (i + j) + 'bad base85 character at position %d' % (i + j) ) if acc > 4294967295: raise ValueError(b'Base85 overflow in hunk starting at byte %d' % i)