Sat, 03 Mar 2018 16:38:17 -0500 hghave: fix up clang-libfuzzer regex to be bytes
Augie Fackler <augie@google.com> [Sat, 03 Mar 2018 16:38:17 -0500] rev 36659
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
Sat, 03 Mar 2018 15:41:12 -0500 py3: accept both unicode and byte strings as filename carried by IOError
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 15:41:12 -0500] rev 36658
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.
Sat, 03 Mar 2018 15:33:52 -0500 py3: back out c77c925987d7 to store bytes filename in IOError
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 15:33:52 -0500] rev 36657
py3: back out c77c925987d7 to store bytes filename in IOError Appears that this is how Python 3 works.
Sat, 03 Mar 2018 14:57:23 -0500 largefiles: headers and values need to be sysstrs, add r prefixes
Augie Fackler <augie@google.com> [Sat, 03 Mar 2018 14:57:23 -0500] rev 36656
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
Sat, 03 Mar 2018 11:26:30 -0500 cext: accept arguments as Py_buffer
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 03 Mar 2018 11:26:30 -0500] rev 36655
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
Sat, 03 Mar 2018 11:19:43 -0500 cext: refactor cleanup code in bdiff()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 03 Mar 2018 11:19:43 -0500] rev 36654
cext: refactor cleanup code in bdiff() A future commit will need to introduce additional cleanup code. We refactor the cleanup code to check NULL before calling free(). We also initialize these variables as NULL. We set the out of memory exception explicitly, so we can just return result. Differential Revision: https://phab.mercurial-scm.org/D2586
Fri, 02 Mar 2018 07:13:33 +0530 py3: use pycompat.bytestr() to convert error messages to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 02 Mar 2018 07:13:33 +0530] rev 36653
py3: use pycompat.bytestr() to convert error messages to bytes Differential Revision: https://phab.mercurial-scm.org/D2535
Sat, 03 Mar 2018 14:28:51 -0500 url: more bytes/unicodes fussing in url.py around auth handling
Augie Fackler <augie@google.com> [Sat, 03 Mar 2018 14:28:51 -0500] rev 36652
url: more bytes/unicodes fussing in url.py around auth handling Once again, these methods are a little annoying to handle because they can get unicodes or bytes depending on who's calling. I think we can probably clean this up a TON once we can run something like pytype and do typechecking of our Python, but until then this is going to be the easy way out. This fixes test-http-bundle1.t. Differential Revision: https://phab.mercurial-scm.org/D2599
Sat, 03 Mar 2018 14:24:21 -0500 httpconnection: convert url to bytes in readauthforuri
Augie Fackler <augie@google.com> [Sat, 03 Mar 2018 14:24:21 -0500] rev 36651
httpconnection: convert url to bytes in readauthforuri This method is sometimes called by the stdlib, so we just need to accept both bytes and unicodes here. Awesome. Differential Revision: https://phab.mercurial-scm.org/D2598
Sat, 03 Mar 2018 14:44:41 -0500 tests: prevent enormous output spew in test-lfs-largefiles.t
Augie Fackler <augie@google.com> [Sat, 03 Mar 2018 14:44:41 -0500] rev 36650
tests: prevent enormous output spew in test-lfs-largefiles.t This test currently fails on Python 3, but in a super-slow way. Adding this `head` invocation costs us nothing, but will prevent failures in this area from being super expensive. Differential Revision: https://phab.mercurial-scm.org/D2600
Sat, 03 Mar 2018 12:23:03 -0500 py3: fix formatting of path-auditing errors
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 12:23:03 -0500] rev 36649
py3: fix formatting of path-auditing errors
Sat, 03 Mar 2018 12:36:05 -0500 py3: make os.curdir a bytes
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 12:36:05 -0500] rev 36648
py3: make os.curdir a bytes
Sat, 03 Mar 2018 12:34:35 -0500 py3: make os.pardir a bytes
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 12:34:35 -0500] rev 36647
py3: make os.pardir a bytes
Sat, 03 Mar 2018 14:21:47 -0500 py3: fix slicing of bytes in patch.iterhunks()
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 14:21:47 -0500] rev 36646
py3: fix slicing of bytes in patch.iterhunks()
Sat, 03 Mar 2018 09:35:59 -0500 tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com> [Sat, 03 Mar 2018 09:35:59 -0500] rev 36645
tests: fix various test-check-module-imports.t violations Somehow these are only caught when running the test under Python 3. Differential Revision: https://phab.mercurial-scm.org/D2580
Tue, 27 Feb 2018 00:33:46 +0530 pycompat: prevent encoding or decoding values if not required
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 27 Feb 2018 00:33:46 +0530] rev 36644
pycompat: prevent encoding or decoding values if not required pycompat.py has functions strurl and bytesurl which decodes and encodes the url passed on Python 3 respectively. In some cases, strurl gets a url which is already str and bytesurl gets a url which is already bytes. Let's prevent encoding or decoding the values again if not required. Differential Revision: https://phab.mercurial-scm.org/D2472
Sat, 03 Mar 2018 10:39:48 -0500 py3: add some b'' to make test-lock-badness.t happy
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 10:39:48 -0500] rev 36643
py3: add some b'' to make test-lock-badness.t happy
Sat, 03 Mar 2018 10:32:06 -0500 py3: fix formatting of lock error message
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 10:32:06 -0500] rev 36642
py3: fix formatting of lock error message
Sat, 03 Mar 2018 10:02:36 -0500 py3: fix some unicode madness in global exception catcher
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 10:02:36 -0500] rev 36641
py3: fix some unicode madness in global exception catcher
Sat, 03 Mar 2018 10:08:13 -0500 py3: pass a system-string filename to sub-classes of IOError
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 10:08:13 -0500] rev 36640
py3: pass a system-string filename to sub-classes of IOError
Sat, 03 Mar 2018 09:19:34 -0500 py3: fix some membership tests on linkrev adjustment
Yuya Nishihara <yuya@tcha.org> [Sat, 03 Mar 2018 09:19:34 -0500] rev 36639
py3: fix some membership tests on linkrev adjustment
Fri, 02 Mar 2018 22:38:09 -0500 py3: make test-basic.t pass on Python 3
Yuya Nishihara <yuya@tcha.org> [Fri, 02 Mar 2018 22:38:09 -0500] rev 36638
py3: make test-basic.t pass on Python 3
Fri, 02 Mar 2018 22:35:20 -0500 py3: silence the final IOError by closing stdout/err slightly early
Yuya Nishihara <yuya@tcha.org> [Fri, 02 Mar 2018 22:35:20 -0500] rev 36637
py3: silence the final IOError by closing stdout/err slightly early Fixes the following test failure: $ hg status >/dev/full abort: No space left on device Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' ... OSError: [Errno 28] No space left on device [120]
Fri, 02 Mar 2018 22:10:36 -0500 py3: conditionalize initialization of stdio flags
Yuya Nishihara <yuya@tcha.org> [Fri, 02 Mar 2018 22:10:36 -0500] rev 36636
py3: conditionalize initialization of stdio flags Since Python 3 doesn't depend on the stdio of libc, there should be no need to set O_BINARY flag on Windows.
Thu, 01 Mar 2018 18:25:19 -0500 test-command-template: glob out detailed "invalid escape" message
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 18:25:19 -0500] rev 36635
test-command-template: glob out detailed "invalid escape" message Python 3 also reports the position where an invalid escape found.
Thu, 01 Mar 2018 08:14:54 -0500 templater: byte-stringify dict/list values before passing to default format
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 08:14:54 -0500] rev 36634
templater: byte-stringify dict/list values before passing to default format bytestr() is applied only when no custom format string like '%d' is specified.
Thu, 01 Mar 2018 08:07:22 -0500 templater: allow dynamically switching the default dict/list formatting
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Mar 2018 08:07:22 -0500] rev 36633
templater: allow dynamically switching the default dict/list formatting '%s' doesn't work nicely on Python 3 because many Python types don't implement __bytes__().
Sat, 03 Mar 2018 21:01:07 +0530 py3: use util.forcevytestr to convert error to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 03 Mar 2018 21:01:07 +0530] rev 36632
py3: use util.forcevytestr to convert error to bytes Differential Revision: https://phab.mercurial-scm.org/D2585
Sat, 03 Mar 2018 09:50:07 -0500 util: report integer result from write()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 03 Mar 2018 09:50:07 -0500] rev 36631
util: report integer result from write() Python 2 sometimes returns None from write() calls. Python 3 doesn't. This will make test output inconsistent between Python 2 and 3. So let's paper over the differences by converting None to the length of the result string. Differential Revision: https://phab.mercurial-scm.org/D2584
Sat, 03 Mar 2018 09:34:06 -0500 util: log readinto() I/O
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 03 Mar 2018 09:34:06 -0500] rev 36630
util: log readinto() I/O Differential Revision: https://phab.mercurial-scm.org/D2583
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip