Mercurial > hg
view mercurial/typelib.py @ 50521:f697af015683
stream-clone: bail-out earlier if pull is partial
The `canperformstreamclone` function is bit messy. However it seems clearer to
me to process the very generic condition about "can we consider a stream-clone
at all", before checking if a stream-clone is requested and if a compatible
protocol can be negotiated with the server.
So I am doing some gratuitous movement so reorder conditional.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 20 May 2023 01:19:26 +0200 |
parents | 8147abc05794 |
children | f3b34386d3e0 |
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. import typing # 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, ) BinaryIO_Proxy = BinaryIO else: BinaryIO_Proxy = object