tests: fix bytes literals in test-fncache.t
# skip-blame just b prefixes
Differential Revision: https://phab.mercurial-scm.org/D2612
scmutil: avoid using basestring and add explicit handling of unicodes
This resolves some Python 3 defects, and I don't think it is a
meaningful behavior change in Python 2.
Differential Revision: https://phab.mercurial-scm.org/D2611
tests: fix inline extension bytes in test-ssh-proto-unbundle.t
# skip-blame just b prefixes
Differential Revision: https://phab.mercurial-scm.org/D2610
hghave: fix up clang-libfuzzer regex to be bytes
Fixes this check on Python 3.
# skip-blame just a b prefix
Differential Revision: https://phab.mercurial-scm.org/D2607
py3: accept both unicode and byte strings as filename carried by IOError
Follows up
77f98867538f. We could assume there's no bytes filename in our
codebase, but it's probably better to not raise UnicodeError because of
a unicode filename.
py3: back out
c77c925987d7 to store bytes filename in IOError
Appears that this is how Python 3 works.
largefiles: headers and values need to be sysstrs, add r prefixes
# skip-blame just some r prefixes
Differential Revision: https://phab.mercurial-scm.org/D2606
cext: accept arguments as Py_buffer
The s*/y* value formatters receive a Py_buffer instead of a char *.
This value format is more flexible in the types that it allows.
We change bdiff() to accept any object that conforms to the buffer
protocol. We validate the buffers are contiguous and have a single
dimension.
This allows memoryview instances to be handled by the function, so
we revert a recent change to cast arguments to bytes before calling
this function.
Differential Revision: https://phab.mercurial-scm.org/D2587