##// END OF EJS Templates
changegroup: add v4 changegroup for revlog v2 exchange...
changegroup: add v4 changegroup for revlog v2 exchange This change only adds the required infrastructure for the new changegroup format and does not do any actual exchange. This will be done in the next patches. Differential Revision: https://phab.mercurial-scm.org/D10026

File last commit:

r46652:8dca9051 default
r47445:a41565be default
Show More
parsers.pyi
78 lines | 2.8 KiB | text/x-python | PythonLexer
from typing import (
Callable,
Dict,
Iterator,
List,
Optional,
Set,
Tuple,
Union,
)
version: int
versionerrortext: str
class dirstatetuple:
__doc__: str
def __len__(self) -> int: ...
def __getitem__(self, key: int) -> Union[bytes, int]: ...
# From dirs.c
class dirs:
__doc__: str
def __init__(self, source, skipchar: bytes): ...
def __iter__(self) -> Iterator[bytes]: ...
def addpath(self, path: bytes) -> None: ...
def delpath(self, path: bytes) -> None: ...
# From manifest.c
class lazymanifest:
def __init__(self, data: bytes): ...
def __iter__(self) -> Iterator[bytes]: ...
def __len__(self) -> int: ...
def __getitem__(self, item: bytes) -> Optional[Tuple[bytes, bytes]]: ...
def __setitem__(self, key: bytes, value: Tuple[bytes, bytes]) -> None: ...
def __delitem__(self, key: bytes) -> None: ...
def iterkeys(self) -> Iterator[bytes]: ...
def iterentries(self) -> Iterator[Tuple[bytes, bytes, bytes]]: ...
def copy(self) -> lazymanifest: ...
def filtercopy(self, matchfn: Callable[[bytes], bool]) -> lazymanifest: ...
def diff(self, other: lazymanifest, clean: Optional[bool]) -> Dict[bytes, Tuple[bytes, Tuple]]: ...
def text(self) -> bytes: ...
# From revlog.c
class index:
__doc__: str
nodemap: Dict[bytes, int]
def ancestors(self, *args: int) -> Iterator[int]: ...
def commonancestorsheads(self, *args: int) -> List[int]: ...
def clearcaches(self) -> None: ...
def get(self, value: bytes) -> Optional[int]: ...
def get_rev(self, value: bytes) -> Optional[int]: ...
def has_node(self, value: Union[int, bytes]) -> bool: ...
def rev(self, node: bytes) -> int: ...
def computephasesmapsets(self, root: Dict[int, Set[bytes]]) -> Tuple[int, Dict[int, Set[bytes]]]: ...
def reachableroots2(self, minroot: int, heads: List[int], roots: List[int], includepath: bool) -> List[int]: ...
def headrevs(self, filteredrevs: Optional[List[int]]) -> List[int]: ...
def headrevsfiltered(self, filteredrevs: Optional[List[int]]) -> List[int]: ...
def issnapshot(self, value: int) -> bool: ...
def findsnapshots(self, cache: Dict[int, List[int]], start_rev: int) -> None: ...
def deltachain(self, rev: int, stop: int, generaldelta: bool) -> Tuple[List[int], bool]: ...
def slicechunktodensity(self, revs: List[int], targetdensity: float, mingapsize: int) -> List[List[int]]: ...
def append(self, value: Tuple[int, int, int, int, int, int, int, bytes]) -> None: ...
def partialmatch(self, node: bytes) -> bytes: ...
def shortest(self, value: bytes) -> int: ...
def stats(self) -> Dict[bytes, int]: ...
class nodetree:
__doc__: str
def insert(self, rev: int) -> None: ...
def shortest(self, node: bytes) -> int: ...