Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 21:02:03 -0500] rev 46403
verify: convert an exception to bytes before logging
I'm not entirely sure why this code appears to be trying to convert twice, but
it was flagged by pytype:
File "/mnt/c/Users/Matt/hg/mercurial/verify.py", line 84, in _exc: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, ints: Iterable[int])
Actually passed: (self, ints: Exception)
The following methods aren't implemented on Exception:
__iter__
Differential Revision: https://phab.mercurial-scm.org/D10181
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 19:50:14 -0500] rev 46402
typing: add an assertion to the upgrade engine to help pytype
Differential Revision: https://phab.mercurial-scm.org/D10180
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 19:21:58 -0500] rev 46401
subrepo: handle unexpected file types from git gracefully
This was flagged by pytype because `tar.extractfile(...)` can return None if the
entry is not a file or symlink. I don't think that git supports other types,
but better safe than sorry.
Differential Revision: https://phab.mercurial-scm.org/D10179
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 18:45:18 -0500] rev 46400
patch: convert a UI message to bytes when editing a patch
Differential Revision: https://phab.mercurial-scm.org/D10178
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 18:33:39 -0500] rev 46399
merge: force an exception message to bytes before printing as a warning
Caught by pytype:
File "/mnt/c/Users/Matt/hg/mercurial/merge.py", line 1346, in batchremove: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, ints: Iterable[int])
Actually passed: (self, ints: str)
Differential Revision: https://phab.mercurial-scm.org/D10177
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 18:09:55 -0500] rev 46398
hg: convert an exception to bytes in the repo creation exception handler
Caught by pytype:
File "/mnt/c/Users/Matt/hg/mercurial/hg.py", line 77, in _local: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, ints: Iterable[int])
Actually passed: (self, ints: Union[TypeError, ValueError])
Differential Revision: https://phab.mercurial-scm.org/D10176
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:55:52 -0500] rev 46397
typing: add an assertion instead of blacklisting mercurial/extensions.py
Differential Revision: https://phab.mercurial-scm.org/D10175
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:27:31 -0500] rev 46396
debug: convert a few exceptions to bytes before wrapping in another error
Caught by pytype:
File "/mnt/c/Users/Matt/hg/mercurial/debugcommands.py", line 2118, in debugmanifestfulltextcache: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, message: Union[bytearray, bytes, memoryview], ...)
Actually passed: (self, message: mercurial.error.LookupError, ...)
File "/mnt/c/Users/Matt/hg/mercurial/debugcommands.py", line 2453, in debugobsolete: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, ints: Iterable[int])
Actually passed: (self, ints: ValueError)
The following methods aren't implemented on ValueError:
__iter__
Differential Revision: https://phab.mercurial-scm.org/D10174
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:16:29 -0500] rev 46395
grep: convert an exception to bytes for a warning message
Caught by pytype:
File "/mnt/c/Users/Matt/hg/mercurial/commands.py", line 3457, in grep: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, ints: Iterable[int])
Actually passed: (self, ints: re.error)
The following methods aren't implemented on re.error:
__iter__
Differential Revision: https://phab.mercurial-scm.org/D10173
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:14:30 -0500] rev 46394
morestatus: convert a UI message about merge conflicts to bytes
Differential Revision: https://phab.mercurial-scm.org/D10172
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:12:08 -0500] rev 46393
changegroup: convert a warning message to bytes
Differential Revision: https://phab.mercurial-scm.org/D10171
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:10:52 -0500] rev 46392
branchmap: force Exception to bytes before logging
Here was an instance where `black` mangled the formatting so that `pytype`
didn't recognize the suppression directive. But it seems that the error was
correct, and the code should follow other recent changes around exception
conversion.
File "/mnt/c/Users/Matt/hg/mercurial/branchmap.py", line 303, in fromfile: Function _bytestr.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, ints: Iterable[int])
Actually passed: (self, ints: Exception)
The following methods aren't implemented on Exception:
__iter__
Differential Revision: https://phab.mercurial-scm.org/D10170
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:05:37 -0500] rev 46391
nodemap: convert error message to bytes
Differential Revision: https://phab.mercurial-scm.org/D10169
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:04:58 -0500] rev 46390
mail: convert SMTPException to bytes before passing to error.Abort()
Caught by pytype:
File "/mnt/c/Users/Matt/hg/mercurial/mail.py", line 168, in _smtp: Function Abort.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, message: Union[bytearray, bytes, memoryview], ...)
Actually passed: (self, message: smtplib.SMTPException)
Differential Revision: https://phab.mercurial-scm.org/D10168
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 17:02:28 -0500] rev 46389
typing: switch an argument type to the generic form
This fixes the following pytype complaint:
File "/mnt/c/Users/Matt/hg/mercurial/commands.py", line 4672, in log: Function mercurial.logcmdutil.parseopts was called with the wrong arguments [wrong-arg-types]
Expected: (ui, pats: List[Union[bytearray, bytes, memoryview]], ...)
Actually passed: (ui, pats: tuple, ...)
Differential Revision: https://phab.mercurial-scm.org/D10167
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Mar 2021 21:25:28 -0500] rev 46388
typing: ensure that error.Abort is given bytes
There's a bunch more typing to be done here, but the list of things to fix is
already long, and I know there are instances where this is being used
incorrectly.
Differential Revision: https://phab.mercurial-scm.org/D10166