py3: convert traceback representation to bytes when logging
authorGregory Szorc <gregory.szorc@gmail.com>
Sun, 11 Feb 2018 19:43:43 -0800
changeset 36124 976a9fd706ed
parent 36123 8eb13f5d5d3f
child 36125 0dde5f53b4ce
py3: convert traceback representation to bytes when logging Python's APIs should return a system string. We want to use bytes for logging. So convert the traceback to bytes before sending it to the logger. Differential Revision: https://phab.mercurial-scm.org/D2176
mercurial/dispatch.py
--- a/mercurial/dispatch.py	Sun Feb 11 19:26:53 2018 -0800
+++ b/mercurial/dispatch.py	Sun Feb 11 19:43:43 2018 -0800
@@ -992,6 +992,7 @@
     this function returns False, ignored otherwise.
     """
     warning = _exceptionwarning(ui)
-    ui.log("commandexception", "%s\n%s\n", warning, traceback.format_exc())
+    ui.log("commandexception", "%s\n%s\n", warning,
+           pycompat.sysbytes(traceback.format_exc()))
     ui.warn(warning)
     return False  # re-raise the exception