[PATCH 07 of 10 py3] bundle2: obtain repr() of exception in a python3-safe way
Augie Fackler
raf at durin42.com
Tue Aug 1 20:34:35 UTC 2017
# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1500909551 14400
# Mon Jul 24 11:19:11 2017 -0400
# Node ID 89d7a53b500a213396ab3c8e043a31dc5538ccaf
# Parent 4c1f4e109bf90a8352a25a6b45a80fabcac6306b
bundle2: obtain repr() of exception in a python3-safe way
This was exposed by other problems in bundle generation, but I'm not
sure how to test it for now.
diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py
--- a/mercurial/bundle2.py
+++ b/mercurial/bundle2.py
@@ -1021,11 +1021,12 @@ class bundlepart(object):
ui.debug('bundle2-generatorexit\n')
raise
except BaseException as exc:
+ bexc = pycompat.bytestr(exc)
# backup exception data for later
ui.debug('bundle2-input-stream-interrupt: encoding exception %s'
- % exc)
+ % bexc)
tb = sys.exc_info()[2]
- msg = 'unexpected error: %s' % exc
+ msg = 'unexpected error: %s' % bexc
interpart = bundlepart('error:abort', [('message', msg)],
mandatory=False)
interpart.id = 0
More information about the Mercurial-devel
mailing list