D2176: py3: convert traceback representation to bytes when logging
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Mon Feb 12 03:45:46 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
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.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D2176
AFFECTED FILES
mercurial/dispatch.py
CHANGE DETAILS
diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
--- a/mercurial/dispatch.py
+++ b/mercurial/dispatch.py
@@ -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
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list