Sun, 11 Feb 2018 18:47:19 -0800 py3: cast decode() argument to system string
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 18:47:19 -0800] rev 36118
py3: cast decode() argument to system string The actual types here may be mixed due to string literals and variables from other modules. So a cast is necessary. Differential Revision: https://phab.mercurial-scm.org/D2166
Sun, 11 Feb 2018 16:56:29 -0800 py3: avoid changing dictionary during iteration
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:56:29 -0800] rev 36117
py3: avoid changing dictionary during iteration dict.items() and friends are iterators/views in Python 3. You aren't allowed to mutate the underlying dictionary when iterating on these views. So iterate over a copy of things. Differential Revision: https://phab.mercurial-scm.org/D2164
Sun, 11 Feb 2018 16:54:56 -0800 py3: use raw string for key in **kwargs
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:54:56 -0800] rev 36116
py3: use raw string for key in **kwargs Otherwise Python 3 is unhappy. We only set a single key here. So I don't think pycompat.strkwargs() is necessary. Differential Revision: https://phab.mercurial-scm.org/D2163
Sun, 11 Feb 2018 16:50:45 -0800 py3: preserve chunks as an iterable of bytes
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:50:45 -0800] rev 36115
py3: preserve chunks as an iterable of bytes patch.diffstat() returns a bytes. util.chunkbuffer() expects an iterable of bytes. Feeding it a single bytes instance on Python 3 will iterate the characters as integers. This blows up util.chunkbuffer. Differential Revision: https://phab.mercurial-scm.org/D2162
Sun, 11 Feb 2018 16:40:02 -0800 py3: use b'' for changegroup version literals
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:40:02 -0800] rev 36114
py3: use b'' for changegroup version literals Test extensions aren't currently loaded with our custom module importer. # skip-blame b prefix Differential Revision: https://phab.mercurial-scm.org/D2161
Sun, 11 Feb 2018 16:30:44 -0800 py3: use b'' in inline extension
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:30:44 -0800] rev 36113
py3: use b'' in inline extension # skip-blame b prefix Differential Revision: https://phab.mercurial-scm.org/D2160
Sun, 11 Feb 2018 16:29:35 -0800 py3: use hex(hasher.digest())
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:29:35 -0800] rev 36112
py3: use hex(hasher.digest()) .hexdigest() returns a system str. .digest() consistently returns bytes. Differential Revision: https://phab.mercurial-scm.org/D2159
Sun, 11 Feb 2018 16:21:30 -0800 py3: use string for "close" value in commit extras
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:21:30 -0800] rev 36111
py3: use string for "close" value in commit extras The extras dict on commits has string keys and values. Before this commit, we passed "close" as an integer, which Python 2 gladly coerced to a string during a %s formatting in the bowels of changelog.py. Differential Revision: https://phab.mercurial-scm.org/D2157
Sun, 11 Feb 2018 16:16:43 -0800 py3: catch TypeError during template operations
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:16:43 -0800] rev 36110
py3: catch TypeError during template operations Two places in this code Python 3 changed from raising ValueError to TypeError. So catch the addition exceptions. IMO this code might be better off performing type sniffing. But I'm not sure the implications of changing that. Differential Revision: https://phab.mercurial-scm.org/D2156
Sun, 11 Feb 2018 16:08:11 -0800 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 11 Feb 2018 16:08:11 -0800] rev 36109
py3: use bytes literals for test extension These extensions don't get run through our custom module importer. It's easy enough to make them dual compatible with Python 2 and 3. # skip-blame b prefixes Differential Revision: https://phab.mercurial-scm.org/D2155
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip