changeset 36124:976a9fd706ed

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
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 11 Feb 2018 19:43:43 -0800
parents 8eb13f5d5d3f
children 0dde5f53b4ce
files mercurial/dispatch.py
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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