Matt Harbison <matt_harbison@yahoo.com> [Tue, 14 Dec 2021 17:29:30 -0500] rev 48527
procutil: avoid an uninitialized variable usage on tempfile exception
If `pycompat.unnamedtempfile()` raises an exception, it would have called
`stdin.close()` in the `finally` block without it being initialized first.
Differential Revision: https://phab.mercurial-scm.org/D11928
Matt Harbison <matt_harbison@yahoo.com> [Tue, 14 Dec 2021 17:25:46 -0500] rev 48526
pytype: stop excluding procutil.py
This avoids these false warnings:
File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 78, in <module>:
No attribute 'register' on Type[io.BufferedIOBase] [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 117, in <module>:
No attribute 'register' on Type[io.IOBase] [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 770, in runbgcommandpy3:
No attribute 'close' on int [attribute-error]
In Union[IO[Union[bytes, str]], int]
Differential Revision: https://phab.mercurial-scm.org/D11927
Matt Harbison <matt_harbison@yahoo.com> [Tue, 14 Dec 2021 17:06:32 -0500] rev 48525
pytype: stop excluding chgserver.py
This teaches pytype about some lazy initialization, and avoids the following:
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 666, in _checkextensions:
No attribute '_hashstate' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 672, in _checkextensions:
No attribute '_hashstate' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 677, in _bind:
No attribute '_realaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 683, in _bind:
No attribute '_realaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 686, in _createsymlink:
No attribute '_baseaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 686, in _createsymlink:
No attribute '_realaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 688, in _createsymlink:
No attribute '_baseaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 689, in _createsymlink:
No attribute '_realaddress' on chgunixservicehandler [attribute-error]
File "/mnt/c/Users/Matt/hg/mercurial/chgserver.py", line 690, in _createsymlink:
No attribute '_baseaddress' on chgunixservicehandler [attribute-error]
Differential Revision: https://phab.mercurial-scm.org/D11926
Matt Harbison <matt_harbison@yahoo.com> [Mon, 13 Dec 2021 22:46:43 -0500] rev 48524
pytype: stop excluding webcommands.py
I have no idea why, but asserting that each value added to `emptydirs` is not
None didn't fix this:
File "/mnt/c/Users/Matt/hg/mercurial/hgweb/webcommands.py", line 621, in dirlist:
Function bytes.join was called with the wrong arguments [wrong-arg-types]
Expected: (self, iterable: Iterable[bytes])
Actually passed: (self, iterable: List[None])
Differential Revision: https://phab.mercurial-scm.org/D11924
Matt Harbison <matt_harbison@yahoo.com> [Mon, 13 Dec 2021 20:45:31 -0500] rev 48523
tests: drop an obsolete comment about a pytype failure
Differential Revision: https://phab.mercurial-scm.org/D11923
Matt Harbison <matt_harbison@yahoo.com> [Mon, 13 Dec 2021 20:19:09 -0500] rev 48522
pytype: stop excluding patch.py
The underlying `email.generator.BytesGenerator` is documented as requiring an
`fp` that accepts bytes, so I'm not sure why pytype is getting confused:
File "/mnt/c/Users/Matt/hg/mercurial/patch.py", line 112, in msgfp:
Function Generator.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, outfp: TextIO, ...)
Actually passed: (self, outfp: io.BytesIO, ...)
Differential Revision: https://phab.mercurial-scm.org/D11922