##// END OF EJS Templates
typing: add type hints to the `opener` attributes and arguments of revlog...
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.

File last commit:

r50491:b8389533 default
r52713:71fb6e0a default
Show More
bdiff.pyi
12 lines | 348 B | text/x-python | PythonLexer
from typing import (
List,
Tuple,
)
version: int
def bdiff(a: bytes, b: bytes) -> bytes: ...
def blocks(a: bytes, b: bytes) -> List[Tuple[int, int, int, int]]: ...
def fixws(s: bytes, allws: bool) -> bytes: ...
def splitnewlines(text: bytes) -> List[bytes]: ...
def xdiffblocks(a: bytes, b: bytes) -> List[Tuple[int, int, int, int]]: ...