Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 13:06:37 -0700] rev 31401
tests: prove that `hg init` works with Python 3
The previous patch made `hg init` work!
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 12:16:47 -0700] rev 31400
pycompat: custom implementation of urllib.parse.quote()
urllib.parse.quote() accepts either str or bytes and returns str.
There exists a urllib.parse.quote_from_bytes() which only accepts
bytes. We should probably use that to retain strong typing and
avoid surprises.
In addition, since nearly all strings in Mercurial are bytes, we
probably don't want quote() returning unicode.
So, this patch implements a custom quote() that only accepts bytes
and returns bytes. The quoted URL should only contain URL safe
characters which is a strict subset of ASCII. So
`.encode('ascii', 'strict')` should be safe.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 12:14:17 -0700] rev 31399
pycompat: alias urllib symbols directly
urllib.request imports a bunch of symbols from other urllib
modules. We should map to the original symbols not the
re-exported ones because this is more correct. Also, it
will prevent an import of urllib.request if only one of
the lower-level symbols/modules is needed.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 13:08:11 -0700] rev 31398
tests: clean up bad extension
The presence of the "babar" extension breaks subsequent tests.
So delete the file and create an empty one to return the config
to sanity.