##// END OF EJS Templates
rev-branch-cache: increment the version to "v2"...
rev-branch-cache: increment the version to "v2" We want to ensure no older clients will truncate the file under us. So we need to change their name. We don't change the rest of the format (unfortunaly).

File last commit:

r52757:1c5810ce default
r52799:0f26ee69 default
Show More
typelib.py
50 lines | 1.3 KiB | text/x-python | PythonLexer
# typelib.py - type hint aliases and support
#
# Copyright 2022 Matt Harbison <matt_harbison@yahoo.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import annotations
import typing
from typing import (
Callable,
)
# Note: this is slightly different from pycompat.TYPE_CHECKING, as using
# pycompat causes the BinaryIO_Proxy type to be resolved to ``object`` when
# used as the base class during a pytype run.
TYPE_CHECKING = typing.TYPE_CHECKING
# The BinaryIO class provides empty methods, which at runtime means that
# ``__getattr__`` on the proxy classes won't get called for the methods that
# should delegate to the internal object. So to avoid runtime changes because
# of the required typing inheritance, just use BinaryIO when typechecking, and
# ``object`` otherwise.
if TYPE_CHECKING:
from typing import (
BinaryIO,
Union,
)
from . import (
node,
posix,
windows,
)
BinaryIO_Proxy = BinaryIO
CacheStat = Union[posix.cachestat, windows.cachestat]
NodeConstants = node.sha1nodeconstants
else:
from typing import Any
BinaryIO_Proxy = object
CacheStat = Any
NodeConstants = Any
# scmutil.getuipathfn() related callback.
UiPathFn = Callable[[bytes], bytes]