Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 14:25:10 -0800] rev 36047
py3: pass system string to email.message.Message.set_type()
Python 3 insists the type is a str.
Differential Revision: https://phab.mercurial-scm.org/D2149
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 14:18:27 -0800] rev 36046
py3: open temporary file in binary mode
Otherwise things fail later when we write bytes to the handle.
Differential Revision: https://phab.mercurial-scm.org/D2148
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 14:17:23 -0800] rev 36045
py3: use email parser that operates on bytes
email.parser.Parser() operates on str in both Python 2 and 3.
Python 3.2 introduced the email.parser.BytesParser(), which works
like Parser except it accepts bytes.
We implement the pycompat helper as a function so we lazily
import the "email" module.
Differential Revision: https://phab.mercurial-scm.org/D2147
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 13:32:18 -0800] rev 36044
py3: port ext-phase-report.py extension
The custom module importer doesn't run on Python files in the
tests directory. So we need the source to be compatible with
both Python 2 and 3.
Differential Revision: https://phab.mercurial-scm.org/D2145