Mon, 21 Feb 2022 12:36:04 -0700 policy: remove Python 2.7 compatibility code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 12:36:04 -0700] rev 48938
policy: remove Python 2.7 compatibility code Differential Revision: https://phab.mercurial-scm.org/D12344
Mon, 21 Feb 2022 12:35:29 -0700 lsprof: remove some Python 2.7 compatibility code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 12:35:29 -0700] rev 48937
lsprof: remove some Python 2.7 compatibility code Differential Revision: https://phab.mercurial-scm.org/D12343
Mon, 21 Feb 2022 12:34:22 -0700 url: remove Python 2.7 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 12:34:22 -0700] rev 48936
url: remove Python 2.7 support code Differential Revision: https://phab.mercurial-scm.org/D12342
Tue, 01 Mar 2022 20:52:32 -0800 py3: replace pycompat.itervalues(x) with x.values()
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 01 Mar 2022 20:52:32 -0800] rev 48935
py3: replace pycompat.itervalues(x) with x.values() pycompat.itervalues(x) just calls x.values(). So this is equivalent. The rewrite was perfomed via an automated search and replace. Differential Revision: https://phab.mercurial-scm.org/D12341
Mon, 21 Feb 2022 11:24:57 -0700 py3: use str instead of pycompat.unicode
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:24:57 -0700] rev 48934
py3: use str instead of pycompat.unicode pycompat.unicode is an alias to str. Differential Revision: https://phab.mercurial-scm.org/D12340
Tue, 08 Mar 2022 10:58:22 +0100 ui: use input() directly
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 08 Mar 2022 10:58:22 +0100] rev 48933
ui: use input() directly pycompat.rawinput() is an alias to input() Differential Revision: https://phab.mercurial-scm.org/D12339
Tue, 01 Mar 2022 20:50:34 -0800 py3: use int instead of pycompat.long
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 01 Mar 2022 20:50:34 -0800] rev 48932
py3: use int instead of pycompat.long pycompat.long is aliased to int. So this should have no change in functionality. Differential Revision: https://phab.mercurial-scm.org/D12338
Mon, 21 Feb 2022 11:13:37 -0700 verify: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:13:37 -0700] rev 48931
verify: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12336
Mon, 21 Feb 2022 11:13:15 -0700 templatekw: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:13:15 -0700] rev 48930
templatekw: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12335
Mon, 21 Feb 2022 11:12:47 -0700 templatefuncs: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:12:47 -0700] rev 48929
templatefuncs: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12334
Mon, 21 Feb 2022 11:12:26 -0700 revlog: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:12:26 -0700] rev 48928
revlog: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12333
Mon, 21 Feb 2022 11:11:59 -0700 merge: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:11:59 -0700] rev 48927
merge: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12332
Mon, 21 Feb 2022 11:11:27 -0700 manifest: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:11:27 -0700] rev 48926
manifest: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12331
Mon, 21 Feb 2022 11:10:47 -0700 localrepo: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:10:47 -0700] rev 48925
localrepo: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12330
Mon, 21 Feb 2022 11:10:27 -0700 keepalive: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:10:27 -0700] rev 48924
keepalive: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12329
Mon, 21 Feb 2022 11:10:08 -0700 help: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:10:08 -0700] rev 48923
help: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12328
Mon, 21 Feb 2022 11:09:30 -0700 dirstate: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:09:30 -0700] rev 48922
dirstate: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12327
Mon, 21 Feb 2022 11:08:53 -0700 debugcommands: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:08:53 -0700] rev 48921
debugcommands: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12326
Tue, 01 Mar 2022 20:47:37 -0800 config: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 01 Mar 2022 20:47:37 -0800] rev 48920
config: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12325
Mon, 21 Feb 2022 11:08:04 -0700 commands: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:08:04 -0700] rev 48919
commands: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12324
Mon, 21 Feb 2022 11:07:29 -0700 remotefilelog: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:07:29 -0700] rev 48918
remotefilelog: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12323
Mon, 21 Feb 2022 11:06:46 -0700 lfs: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:06:46 -0700] rev 48917
lfs: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12322
Tue, 01 Mar 2022 20:46:06 -0800 largefiles: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 01 Mar 2022 20:46:06 -0800] rev 48916
largefiles: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12321
Mon, 21 Feb 2022 11:05:42 -0700 infinitepush: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 11:05:42 -0700] rev 48915
infinitepush: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12320
Tue, 01 Mar 2022 20:44:59 -0800 convert: remove pycompat.iteritems()
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 01 Mar 2022 20:44:59 -0800] rev 48914
convert: remove pycompat.iteritems() Differential Revision: https://phab.mercurial-scm.org/D12319
Thu, 03 Mar 2022 18:28:30 -0800 global: bulk replace simple pycompat.iteritems(x) with x.items()
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Mar 2022 18:28:30 -0800] rev 48913
global: bulk replace simple pycompat.iteritems(x) with x.items() pycompat.iteritems() just calls .items(). This commit applies a regular expression search and replace to convert simple instances of pycompat.iteritems() with .items(). There are still a handful of calls to pycompat.iteritems() remaining. But these all have more complicated expressions that I wasn't comfortable performing an automated replace on. In addition, some simple replacements were withheld because they broke pytype. These will be handled by their own changesets. Differential Revision: https://phab.mercurial-scm.org/D12318
Thu, 03 Mar 2022 17:39:20 -0800 worker: silence type error when calling pickle
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Mar 2022 17:39:20 -0800] rev 48912
worker: silence type error when calling pickle pytype is complaining that the argument to `pickle.load()` is not an `IO`. pytype isn't wrong: `_blockingreader` doesn't implement `io.RawIOBase`, only `read()` and `readline()`. But it appears this is enough for pickle. So we silence the false positive. This fixes a regression introduced by D12304 / cc0e059d2af8: worker: remove Python 2 support code. Differential Revision: https://phab.mercurial-scm.org/D12337
Mon, 21 Feb 2022 10:53:09 -0700 stringutil: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:53:09 -0700] rev 48911
stringutil: remove Python 2 support code Differential Revision: https://phab.mercurial-scm.org/D12314
Mon, 21 Feb 2022 10:52:27 -0700 procutil: delete Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:52:27 -0700] rev 48910
procutil: delete Python 2 support code This entailed deleting a function for Python 2 support and renaming the Python 3 function to match the exported symbol name. Differential Revision: https://phab.mercurial-scm.org/D12313
Tue, 01 Mar 2022 20:37:09 -0800 revlogutils: unconditionally pass version to random seed
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 01 Mar 2022 20:37:09 -0800] rev 48909
revlogutils: unconditionally pass version to random seed Differential Revision: https://phab.mercurial-scm.org/D12312
Mon, 21 Feb 2022 10:48:45 -0700 revlogutils: remove Python 2 variant for iter_seed
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:48:45 -0700] rev 48908
revlogutils: remove Python 2 variant for iter_seed Differential Revision: https://phab.mercurial-scm.org/D12311
Mon, 21 Feb 2022 10:47:31 -0700 charencode: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:47:31 -0700] rev 48907
charencode: remove Python 2 support code Differential Revision: https://phab.mercurial-scm.org/D12310
Mon, 21 Feb 2022 10:47:08 -0700 hgweb: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:47:08 -0700] rev 48906
hgweb: remove Python 2 support code Differential Revision: https://phab.mercurial-scm.org/D12309
Thu, 03 Mar 2022 08:06:37 -0800 hgweb: remove Python 3 conditional
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Mar 2022 08:06:37 -0800] rev 48905
hgweb: remove Python 3 conditional We probably have a better tobytes() implementation somewhere in pycompat. But I don't want to bloat scope of this commit. Differential Revision: https://phab.mercurial-scm.org/D12308
Mon, 21 Feb 2022 10:45:24 -0700 hgweb: simplify uenv assignment
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:45:24 -0700] rev 48904
hgweb: simplify uenv assignment We don't need the Python 3 conditional. We can call items() directly since we're on Python 3 now. Differential Revision: https://phab.mercurial-scm.org/D12307
Mon, 21 Feb 2022 10:43:58 -0700 chgserver: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:43:58 -0700] rev 48903
chgserver: remove Python 2 support code The logic here is more complicated than most Python 2/3 support code. But the rewritten logic should be identical. Differential Revision: https://phab.mercurial-scm.org/D12306
Mon, 21 Feb 2022 10:40:58 -0700 chgserver: remove Python 2 branch
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:40:58 -0700] rev 48902
chgserver: remove Python 2 branch Differential Revision: https://phab.mercurial-scm.org/D12305
Mon, 21 Feb 2022 10:39:48 -0700 worker: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:39:48 -0700] rev 48901
worker: remove Python 2 support code Differential Revision: https://phab.mercurial-scm.org/D12304
Mon, 21 Feb 2022 10:39:09 -0700 wireprotoframing: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:39:09 -0700] rev 48900
wireprotoframing: remove Python 2 support code Differential Revision: https://phab.mercurial-scm.org/D12303
Mon, 21 Feb 2022 10:38:27 -0700 windows: remove write throttling support
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:38:27 -0700] rev 48899
windows: remove write throttling support This mode would only be active on Python 2, which is no longer supported. Differential Revision: https://phab.mercurial-scm.org/D12302
Mon, 21 Feb 2022 10:36:44 -0700 windows: remove conditional for Python 3
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:36:44 -0700] rev 48898
windows: remove conditional for Python 3 Differential Revision: https://phab.mercurial-scm.org/D12301
Mon, 21 Feb 2022 10:35:42 -0700 util: remove superfluous ispy3 test
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:35:42 -0700] rev 48897
util: remove superfluous ispy3 test Differential Revision: https://phab.mercurial-scm.org/D12300
Mon, 21 Feb 2022 10:35:20 -0700 urllibcompat: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:35:20 -0700] rev 48896
urllibcompat: remove Python 2 support code We had to move the `import` statements to appease the import checker. This whole module could probably be deleted as its point in life is to pave over Python 2/3 differences. But that's for a different commit. Differential Revision: https://phab.mercurial-scm.org/D12299
Mon, 21 Feb 2022 10:32:45 -0700 keepalive: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:32:45 -0700] rev 48895
keepalive: remove Python 2 support code Differential Revision: https://phab.mercurial-scm.org/D12298
Mon, 21 Feb 2022 10:31:53 -0700 extensions: remove superfluous pycompat.ispy3 check
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:31:53 -0700] rev 48894
extensions: remove superfluous pycompat.ispy3 check This is always True now. Differential Revision: https://phab.mercurial-scm.org/D12297
Mon, 21 Feb 2022 10:31:00 -0700 archival: remove check for Python 2
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:31:00 -0700] rev 48893
archival: remove check for Python 2 Differential Revision: https://phab.mercurial-scm.org/D12296
Thu, 03 Mar 2022 07:58:29 -0800 encoding: remove Python 2 support code
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Mar 2022 07:58:29 -0800] rev 48892
encoding: remove Python 2 support code Differential Revision: https://phab.mercurial-scm.org/D12295
Mon, 21 Feb 2022 10:28:19 -0700 dispatch: remove Python 2 function variants
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:28:19 -0700] rev 48891
dispatch: remove Python 2 function variants Differential Revision: https://phab.mercurial-scm.org/D12294
Mon, 21 Feb 2022 10:27:34 -0700 config: remove conditional asserts
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:27:34 -0700] rev 48890
config: remove conditional asserts We always run on Python 3 now. Differential Revision: https://phab.mercurial-scm.org/D12293
Mon, 21 Feb 2022 10:27:02 -0700 error: unconditionally define __str__
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:27:02 -0700] rev 48889
error: unconditionally define __str__ We always run on Python 3 now. Differential Revision: https://phab.mercurial-scm.org/D12292
Mon, 21 Feb 2022 10:26:25 -0700 formatter: remove conditional assert
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:26:25 -0700] rev 48888
formatter: remove conditional assert We always run on Python 3 now. Differential Revision: https://phab.mercurial-scm.org/D12291
Mon, 21 Feb 2022 10:25:53 -0700 httppeer: inline simplified _reqdata()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:25:53 -0700] rev 48887
httppeer: inline simplified _reqdata() The function can be reduced to an attribute lookup on Python 3. So inline it. Differential Revision: https://phab.mercurial-scm.org/D12290
Mon, 21 Feb 2022 10:23:54 -0700 url: remove passing of strict
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:23:54 -0700] rev 48886
url: remove passing of strict This was needed to support Python 2.7. Differential Revision: https://phab.mercurial-scm.org/D12289
Thu, 03 Mar 2022 08:04:33 -0800 posix: delete Python 2 posixfile()
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Mar 2022 08:04:33 -0800] rev 48885
posix: delete Python 2 posixfile() The comment no longer makes sense since the stdlib open() behaves the way we want on Python 3. So it was removed. Differential Revision: https://phab.mercurial-scm.org/D12288
Mon, 21 Feb 2022 10:21:18 -0700 match: delete Python 2 conditional code
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:21:18 -0700] rev 48884
match: delete Python 2 conditional code Differential Revision: https://phab.mercurial-scm.org/D12287
Mon, 21 Feb 2022 10:20:48 -0700 mail: delete conditional code for Python 2
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:20:48 -0700] rev 48883
mail: delete conditional code for Python 2 Differential Revision: https://phab.mercurial-scm.org/D12286
Sun, 20 Feb 2022 16:46:05 -0700 archival: remove GzipFileWithTime
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:46:05 -0700] rev 48882
archival: remove GzipFileWithTime This was required for Python 2 support, which we no longer need to support. Differential Revision: https://phab.mercurial-scm.org/D12285
Mon, 21 Feb 2022 10:56:31 -0700 check-code: allow importing Python 3 modules
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Feb 2022 10:56:31 -0700] rev 48881
check-code: allow importing Python 3 modules Now that we no longer support Python 2, we should be able to import and use the Python 3 only modules in our code. So remove a lint banning this. Differential Revision: https://phab.mercurial-scm.org/D12284
Wed, 02 Mar 2022 08:29:52 -0700 tests: move Python 3.5 check higher in file
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 02 Mar 2022 08:29:52 -0700] rev 48880
tests: move Python 3.5 check higher in file Per code review comment on the changeset that introduced the Python 3.5+ checks. Differential Revision: https://phab.mercurial-scm.org/D12259
Sun, 20 Feb 2022 15:35:09 -0700 py2: drop some more from __future__ statements
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:35:09 -0700] rev 48879
py2: drop some more from __future__ statements These are no longer needed after dropping support for Python 2. Differential Revision: https://phab.mercurial-scm.org/D12258
Sun, 20 Feb 2022 15:31:33 -0700 tests: delete some no-py3 blocks
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:31:33 -0700] rev 48878
tests: delete some no-py3 blocks And drop some nearby avoidable py3 checks in close proximity while we are here. Differential Revision: https://phab.mercurial-scm.org/D12257
Sun, 20 Feb 2022 16:42:58 -0700 tests: remove __future__ import from test-debugcommands.t
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:42:58 -0700] rev 48877
tests: remove __future__ import from test-debugcommands.t This one is slightly more involved since it affects test output. Differential Revision: https://phab.mercurial-scm.org/D12256
Sun, 20 Feb 2022 15:28:44 -0700 tests: remove from __future__ from inline Python in tests
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:28:44 -0700] rev 48876
tests: remove from __future__ from inline Python in tests This is no longer required since we require Python 3 and the linter no longer requires these statements. Differential Revision: https://phab.mercurial-scm.org/D12255
Thu, 03 Mar 2022 17:34:00 +0100 py2: remove simple from __future__ statements
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Mar 2022 17:34:00 +0100] rev 48875
py2: remove simple from __future__ statements These were needed for Python 2 support. Now that our linter no longer mandates these, we can start deleting them. Differential Revision: https://phab.mercurial-scm.org/D12254
Sun, 20 Feb 2022 15:18:15 -0700 tests: remove output conditionalized on no-py3
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:18:15 -0700] rev 48874
tests: remove output conditionalized on no-py3 I simply did a search for `^.* \(no-py3 !\)\n` and removed all matched lines. There are still some references to no-py3. But these were the simpler ones to match against. Differential Revision: https://phab.mercurial-scm.org/D12253
Sun, 20 Feb 2022 15:03:26 -0700 py3: use io.BytesIO directly
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 15:03:26 -0700] rev 48873
py3: use io.BytesIO directly Previously, pycompat.bytesio and pycompat.stringio referred to io.BytesIO. And util.bytesio and util.stringio aliased the pycompat symbols. This commit switches everything to use io.BytesIO directly. util.bytesio and util.stringio still exist to provide backwards compatibility, as they were the preferred symbols. Differential Revision: https://phab.mercurial-scm.org/D12252
Sun, 20 Feb 2022 14:52:40 -0700 check-py3-compat: drop support for Python 2
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 14:52:40 -0700] rev 48872
check-py3-compat: drop support for Python 2 We no longer support Python 2 so we can drop support for linting code for Python 2 support. This gets rid of the check for `from __future__`, enabling us to delete those imports. Differential Revision: https://phab.mercurial-scm.org/D12251
Thu, 03 Mar 2022 07:59:42 -0800 pycompat: remove large Python 2 block
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Mar 2022 07:59:42 -0800] rev 48871
pycompat: remove large Python 2 block We no longer support Python 2. So we can delete its compatibility code and remove the conditional and dedent the Python 3 code. In order to make the linter happy, we had to inline imports in the stanza at the top of the file. Differential Revision: https://phab.mercurial-scm.org/D12250
Tue, 01 Mar 2022 20:29:03 -0800 py3: use pickle directly
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 01 Mar 2022 20:29:03 -0800] rev 48870
py3: use pickle directly pycompat.pickle abstracted over the different pickle modules in Python 2 and 3. Now that we're Python 3 only, it is safe to use the `pickle` module directly. So this commit does that. As part of this we remove the rules from check-code.py that were forbidden direct pickle module use. We retain the `util.pickle` symbol for backwards compatibility, just in case some extensions were using it. Differential Revision: https://phab.mercurial-scm.org/D12249
Wed, 02 Mar 2022 17:51:27 -0800 pycompat: remove first not ispy3 block
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 02 Mar 2022 17:51:27 -0800] rev 48869
pycompat: remove first not ispy3 block We now require Python 3. So we can remove the first block supporting Python 2. Differential Revision: https://phab.mercurial-scm.org/D12247
Sun, 20 Feb 2022 13:43:44 -0700 import-checker: assume absolute and use modern import checker
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:43:44 -0700] rev 48868
import-checker: assume absolute and use modern import checker Since we require Python 3 now, we can assume we always use absolute imports and the modern import checker should be used. Differential Revision: https://phab.mercurial-scm.org/D12246
Sun, 20 Feb 2022 13:29:47 -0700 tests: unconditionalize some imports
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:29:47 -0700] rev 48867
tests: unconditionalize some imports Now that we require Python 3 we can simplify these imports. Differential Revision: https://phab.mercurial-scm.org/D12245
Sun, 20 Feb 2022 13:27:38 -0700 tests: remove last references to PYTHON3
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:27:38 -0700] rev 48866
tests: remove last references to PYTHON3 This removes the last references to PYTHON3. Differential Revision: https://phab.mercurial-scm.org/D12244
Sun, 20 Feb 2022 13:27:08 -0700 tests: simplify Windows and PYTHON3 conditionals
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:27:08 -0700] rev 48865
tests: simplify Windows and PYTHON3 conditionals PYTHON3 is always True. So this flow can be reduced. Differential Revision: https://phab.mercurial-scm.org/D12243
Sun, 20 Feb 2022 13:26:15 -0700 tests: delete some not PYTHON3 blocks
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:26:15 -0700] rev 48864
tests: delete some not PYTHON3 blocks These can never be used anymore. Differential Revision: https://phab.mercurial-scm.org/D12242
Sun, 20 Feb 2022 13:24:25 -0700 tests: unconditionalize _bytes2sys()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:24:25 -0700] rev 48863
tests: unconditionalize _bytes2sys() As part of requiring Python 3. Differential Revision: https://phab.mercurial-scm.org/D12241
Sun, 20 Feb 2022 13:23:21 -0700 tests: remove Python 3 conditionalizing from variables
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:23:21 -0700] rev 48862
tests: remove Python 3 conditionalizing from variables Differential Revision: https://phab.mercurial-scm.org/D12240
Sun, 20 Feb 2022 13:22:12 -0700 tests: always encode session
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:22:12 -0700] rev 48861
tests: always encode session Differential Revision: https://phab.mercurial-scm.org/D12239
Sun, 20 Feb 2022 13:21:30 -0700 tests: unconditionalize bchr
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:21:30 -0700] rev 48860
tests: unconditionalize bchr We could probably just do bytes([x]) everywhere. But this eliminates use of PYTHON3. Differential Revision: https://phab.mercurial-scm.org/D12238
Sun, 20 Feb 2022 13:20:33 -0700 tests: unconditionalize _unified_diff
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:20:33 -0700] rev 48859
tests: unconditionalize _unified_diff Now that we're Python 3 only we can make this logic simpler. Differential Revision: https://phab.mercurial-scm.org/D12237
Sun, 20 Feb 2022 13:19:21 -0700 tests: collapse elif PYTHON3 block
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:19:21 -0700] rev 48858
tests: collapse elif PYTHON3 block PYTHON3 is always True now so this logic should be identical as to before. Differential Revision: https://phab.mercurial-scm.org/D12236
Sun, 20 Feb 2022 13:16:44 -0700 tests: collapse some more trivial if PYTHON3 blocks
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 13:16:44 -0700] rev 48857
tests: collapse some more trivial if PYTHON3 blocks This doesn't account for all of the references to PYTHON3. But it accounts for the ones that are more trivial and don't entail logical changes. Differential Revision: https://phab.mercurial-scm.org/D12235
Sun, 20 Feb 2022 11:57:59 -0700 tests: require Python 3.5+ in run-tests.py
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 11:57:59 -0700] rev 48856
tests: require Python 3.5+ in run-tests.py We change the version check logic to hard fail if running on <= 3.5.0. The branch for <3.5 has been deleted. And the >=3.5 branch block has been dedented. Differential Revision: https://phab.mercurial-scm.org/D12234
Mon, 21 Feb 2022 16:18:39 +0100 revlog: use rust rank computation if available
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 16:18:39 +0100] rev 48855
revlog: use rust rank computation if available Differential Revision: https://phab.mercurial-scm.org/D12212
Mon, 21 Feb 2022 16:18:06 +0100 rust: expose rank computation function to python
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 16:18:06 +0100] rev 48854
rust: expose rank computation function to python Differential Revision: https://phab.mercurial-scm.org/D12211
Mon, 21 Feb 2022 18:06:02 +0100 rust: implement vcsgraph::RankedGraph for Index
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 18:06:02 +0100] rev 48853
rust: implement vcsgraph::RankedGraph for Index Differential Revision: https://phab.mercurial-scm.org/D12210
Mon, 21 Feb 2022 18:05:54 +0100 revlog: implement fast_rank retrieval in C
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 18:05:54 +0100] rev 48852
revlog: implement fast_rank retrieval in C This will be useful in particular to avoid going through the Python interpreter in native Rust functions. Differential Revision: https://phab.mercurial-scm.org/D12209
Mon, 21 Feb 2022 15:53:03 +0100 revlog: return 0 for the fast_rank of nullrev
pacien <pacien.trangirard@pacien.net> [Mon, 21 Feb 2022 15:53:03 +0100] rev 48851
revlog: return 0 for the fast_rank of nullrev By convention, the rank of the null revision is 0. This particular revision is never "physically" stored in the changelog, so it is a special case. For consistency, the value `None` is still being returned for revlogs which do not store the fast_rank property for any revision. Differential Revision: https://phab.mercurial-scm.org/D12208
Wed, 02 Mar 2022 18:42:00 -0800 setup: drop support for Python 3.5
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 02 Mar 2022 18:42:00 -0800] rev 48850
setup: drop support for Python 3.5 We talked about this on the mailing list [1] and there seemed to be agreement that Python 3.5 is effectively dead and no longer worth supporting. So this commit changes our minimum version requirement to 3.6.2. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2022-February/147885.html Differential Revision: https://phab.mercurial-scm.org/D12315
Sat, 19 Feb 2022 22:14:41 -0700 packaging: remove requirements constraints to support Python 2
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 22:14:41 -0700] rev 48849
packaging: remove requirements constraints to support Python 2 We just deleted support for Python 2 from the packaging code. We no longer need these package constraints in the requirements file to support Python 2. Differential Revision: https://phab.mercurial-scm.org/D12267
Sat, 19 Feb 2022 22:13:11 -0700 packaging: remove py2exe / Python 2.7 support
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 22:13:11 -0700] rev 48848
packaging: remove py2exe / Python 2.7 support This commit started by deleting references to py2exe (which is only used on Python 2). After pulling the thread, quite a lot of code was orphaned and was deleted. Differential Revision: https://phab.mercurial-scm.org/D12265
Sat, 19 Feb 2022 18:42:12 -0700 automation: delete code related to Python 2.7 support
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:42:12 -0700] rev 48847
automation: delete code related to Python 2.7 support The building of Inno and WiX installers took a python_version argument that allowed us to specify "2" or "3" for the major Python version. Since we no longer support Python 2, we can delete this argument and everything feeding into it. Differential Revision: https://phab.mercurial-scm.org/D12264
Sat, 19 Feb 2022 18:42:31 -0700 automation: drop support for Python 2.7 in Windows environment
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:42:31 -0700] rev 48846
automation: drop support for Python 2.7 in Windows environment We stop installing Python 2.7 in the Windows environment. We remove support for building Python 2.7 wheels and installers. There is still some Python 2.7 support cleanup to perform in automation. But this removes the biggest remaining chunk of references to 2.7. Differential Revision: https://phab.mercurial-scm.org/D12263
Sat, 19 Feb 2022 18:18:35 -0700 automation: drop support for Python 2.7 in Linux environment
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:18:35 -0700] rev 48845
automation: drop support for Python 2.7 in Linux environment We stop installing Python 2.7 via pyenv. We stop installing the system Python 2 packages. We delete support for running tests on Python 2.7. Differential Revision: https://phab.mercurial-scm.org/D12262
Sat, 19 Feb 2022 18:17:14 -0700 automation: make system3 the default for run-tests-linux
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:17:14 -0700] rev 48844
automation: make system3 the default for run-tests-linux We'll soon drop support for Python 2.7. Let's use Python 3 by default. Differential Revision: https://phab.mercurial-scm.org/D12261
Sat, 19 Feb 2022 18:04:49 -0700 automation: run hg with python3
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 19 Feb 2022 18:04:49 -0700] rev 48843
automation: run hg with python3 Python 2.7 support will go away soon. Let's use Python 3 as part of the automation. Differential Revision: https://phab.mercurial-scm.org/D12260
Thu, 03 Mar 2022 07:53:11 +0100 rust: enable Python 3 support unconditionally
Simon Sapin <simon.sapin@octobus.net> [Thu, 03 Mar 2022 07:53:11 +0100] rev 48842
rust: enable Python 3 support unconditionally Note: `cpython/python3-sys` is a default feature. Differential Revision: https://phab.mercurial-scm.org/D12316
Thu, 03 Mar 2022 09:45:21 +0900 cext: really remove Python 2 file handling code
Yuya Nishihara <yuya@tcha.org> [Thu, 03 Mar 2022 09:45:21 +0900] rev 48841
cext: really remove Python 2 file handling code Disclaimer: This is _WIN32 code and I have no machine to test.
Thu, 03 Mar 2022 09:43:10 +0900 cext: backout e9ca736f5b52 "remove Python 2 file handling code"
Yuya Nishihara <yuya@tcha.org> [Thu, 03 Mar 2022 09:43:10 +0900] rev 48840
cext: backout e9ca736f5b52 "remove Python 2 file handling code" It's if"n"def.
Wed, 02 Mar 2022 10:32:36 -0500 rust: jettison Python 2 support
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:32:36 -0500] rev 48839
rust: jettison Python 2 support Differential Revision: https://phab.mercurial-scm.org/D12283
Wed, 02 Mar 2022 10:30:37 -0500 setup: always decode xcode version
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:30:37 -0500] rev 48838
setup: always decode xcode version Not decoding was a Python 2 thing. Differential Revision: https://phab.mercurial-scm.org/D12282
Wed, 02 Mar 2022 10:29:54 -0500 setup: remove Rust support for Python 2
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:29:54 -0500] rev 48837
setup: remove Rust support for Python 2 Differential Revision: https://phab.mercurial-scm.org/D12281
Wed, 02 Mar 2022 10:25:11 -0500 cleanup: stop bundling concurrent.futures on Python 2
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:25:11 -0500] rev 48836
cleanup: stop bundling concurrent.futures on Python 2 We no longer support Python 2. Differential Revision: https://phab.mercurial-scm.org/D12280
Wed, 02 Mar 2022 10:24:49 -0500 cleanup: directly use concurrent.futures instead of via pycompat
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:24:49 -0500] rev 48835
cleanup: directly use concurrent.futures instead of via pycompat Python 2 is gone. Differential Revision: https://phab.mercurial-scm.org/D12279
Wed, 02 Mar 2022 10:23:53 -0500 imports: allow importing futures from concurrent
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:23:53 -0500] rev 48834
imports: allow importing futures from concurrent Differential Revision: https://phab.mercurial-scm.org/D12278
Wed, 02 Mar 2022 10:14:24 -0500 setup: remove pygit2 Python 2 logic
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:14:24 -0500] rev 48833
setup: remove pygit2 Python 2 logic Differential Revision: https://phab.mercurial-scm.org/D12277
Wed, 02 Mar 2022 10:13:45 -0500 setup: inline now-constant list
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:13:45 -0500] rev 48832
setup: inline now-constant list This varied when we supported Python 2. Differential Revision: https://phab.mercurial-scm.org/D12276
Wed, 02 Mar 2022 10:13:09 -0500 setup: unconditionally do this python 3 step
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:13:09 -0500] rev 48831
setup: unconditionally do this python 3 step Differential Revision: https://phab.mercurial-scm.org/D12275
Wed, 02 Mar 2022 10:12:48 -0500 setup: remove Python 2 support code for determining dylib suffix
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:12:48 -0500] rev 48830
setup: remove Python 2 support code for determining dylib suffix Differential Revision: https://phab.mercurial-scm.org/D12274
Wed, 02 Mar 2022 10:12:17 -0500 setup: inline os.fsdecode now that we're done with Python 2
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:12:17 -0500] rev 48829
setup: inline os.fsdecode now that we're done with Python 2 Differential Revision: https://phab.mercurial-scm.org/D12273
Wed, 02 Mar 2022 10:11:37 -0500 setup: inline encoding constant that is only used once
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:11:37 -0500] rev 48828
setup: inline encoding constant that is only used once This was variable back when we supported Python 2. Differential Revision: https://phab.mercurial-scm.org/D12272
Wed, 02 Mar 2022 10:07:49 -0500 setup: remove printf trampoline
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:07:49 -0500] rev 48827
setup: remove printf trampoline Differential Revision: https://phab.mercurial-scm.org/D12271
Wed, 02 Mar 2022 10:07:21 -0500 setup: remove more Python 2 support code
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:07:21 -0500] rev 48826
setup: remove more Python 2 support code I'll inline print() etc in future patches. Differential Revision: https://phab.mercurial-scm.org/D12270
Wed, 02 Mar 2022 10:06:37 -0500 setup: remove ssl check that only matters on 2.7
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:06:37 -0500] rev 48825
setup: remove ssl check that only matters on 2.7 Differential Revision: https://phab.mercurial-scm.org/D12269
Wed, 02 Mar 2022 10:05:45 -0500 setup: remove block that tries to help Python 2.6 users
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:05:45 -0500] rev 48824
setup: remove block that tries to help Python 2.6 users It's time to move on folks. Differential Revision: https://phab.mercurial-scm.org/D12268
Wed, 02 Mar 2022 10:04:04 -0500 setup: drop statement of support for Python before 3.5.3
Augie Fackler <augie@google.com> [Wed, 02 Mar 2022 10:04:04 -0500] rev 48823
setup: drop statement of support for Python before 3.5.3 🎉🎉 Differential Revision: https://phab.mercurial-scm.org/D12266
Sun, 20 Feb 2022 16:11:21 -0700 cext: remove inline rewriting of argv
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:11:21 -0700] rev 48822
cext: remove inline rewriting of argv This only worked on Python 2. And since we dropped support for Python 2, we can drop support for this functionality. Differential Revision: https://phab.mercurial-scm.org/D12233
Sun, 20 Feb 2022 16:09:02 -0700 cext: remove PY23()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:09:02 -0700] rev 48821
cext: remove PY23() Since we always run on Python 3 now, we no longer need this macro to support Python 2. We refactor all users to just use the 2nd argument. Differential Revision: https://phab.mercurial-scm.org/D12232
Sun, 20 Feb 2022 16:13:57 -0700 cext: unconditionalize PySlice_GetIndicesEx()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:13:57 -0700] rev 48820
cext: unconditionalize PySlice_GetIndicesEx() We only support Python 3 now. Differential Revision: https://phab.mercurial-scm.org/D12231
Sun, 20 Feb 2022 16:13:23 -0700 cext: unconditionalize PYLONG_VALUE()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Feb 2022 16:13:23 -0700] rev 48819
cext: unconditionalize PYLONG_VALUE() We only support Python 3 now. Differential Revision: https://phab.mercurial-scm.org/D12230
(0) -30000 -10000 -3000 -1000 -120 +120 +1000 +3000 tip