# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1496379921 -19800 # Node ID c032e137e494b36007a877a6049db4c1c184bf16 # Parent 49e1e5acb8ff21f7023f4b47474f74d8c43ad12a py3: convert exception to bytes to pass into ui.warn() Here encoding.strtolocal() is used because exc maybe an IOError which could contain a valid non-ascii unicode. diff -r 49e1e5acb8ff -r c032e137e494 mercurial/hook.py --- a/mercurial/hook.py Thu Jun 01 02:14:26 2017 +0530 +++ b/mercurial/hook.py Fri Jun 02 10:35:21 2017 +0530 @@ -13,6 +13,7 @@ from .i18n import _ from . import ( demandimport, + encoding, error, extensions, pycompat, @@ -97,7 +98,7 @@ (hname, exc.args[0])) else: ui.warn(_('error: %s hook raised an exception: ' - '%s\n') % (hname, exc)) + '%s\n') % (hname, encoding.strtolocal(str(exc)))) if throw: raise if not ui.tracebackflag: