mercurial/templates/__init__.py
author |
Matt Harbison <matt_harbison@yahoo.com> |
|
Wed, 21 Aug 2024 16:13:14 -0400 |
changeset 51820 |
71fb6e0a7a35 |
parent 45303 |
f55c47f41b8e
|
permissions |
-rw-r--r-- |
typing: add type hints to the `opener` attributes and arguments of revlog
When making revlog and filelog classes visible to pytype, it got confused quite
a bit in `mercurial/revlogutils/rewrite.py`, thinking it had a plain `Callable`,
and flagging additional methods on it like `join()` and `rename()`. I couldn't
figure out how it reduced to that (and PyCharm flagged `opener` references as
`Any`), but this makes it happy. So make this change before making the classes
visible.
The vfs class hierarchy is a bit wonky (e.g. `filteredvfs` is not a `vfs`), so
this may need to be revisited with a Protocol class that covers all of the `vfs`
classes. But for now, everything works.