Mercurial > public > mercurial-scm > hg
view mercurial/typelib.py @ 53042:cdd7bf612c7b stable tip
bundle-spec: properly format boolean parameter (issue6960)
This was breaking automatic clone bundle generation. This changeset fixes it and
add a test to catch it in the future.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 11 Mar 2025 02:29:42 +0100 |
parents | 82e2c99c84f3 |
children |
line wrap: on
line source
# 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, util, windows, ) BinaryIO_Proxy = BinaryIO CacheStat = Union[ posix.cachestat, windows.cachestat, util.uncacheable_cachestat, ] NodeConstants = node.sha1nodeconstants else: from typing import Any BinaryIO_Proxy = object CacheStat = Any NodeConstants = Any # scmutil.getuipathfn() related callback. UiPathFn = Callable[[bytes], bytes]