diff -r b986e3342827 -r 5135b393884b mercurial/statichttprepo.py --- a/mercurial/statichttprepo.py Mon Dec 07 22:27:43 2020 +0100 +++ b/mercurial/statichttprepo.py Mon Dec 28 01:21:58 2020 +0100 @@ -61,7 +61,10 @@ code = f.code except urlerr.httperror as inst: num = inst.code == 404 and errno.ENOENT or None - raise IOError(num, inst) + # Explicitly convert the exception to str as Py3 will try + # convert it to local encoding and with as the HTTPResponse + # instance doesn't support encode. + raise IOError(num, str(inst)) except urlerr.urlerror as inst: raise IOError(None, inst.reason)