|
22 | 22 | from datetime import datetime, timedelta, tzinfo
|
23 | 23 |
|
24 | 24 | # typing ------------------------------------------------------------
|
25 | | -from typing import (Any, Callable, Deque, Iterator, NamedTuple, overload, Sequence, |
| 25 | +from typing import (Any, Callable, Deque, Iterator, Generic, NamedTuple, overload, Sequence, |
26 | 26 | TYPE_CHECKING, Tuple, Type, TypeVar, Union, cast)
|
27 | 27 |
|
28 | | -from git.types import Has_id_attribute, Literal, Protocol, runtime_checkable |
| 28 | +from git.types import Has_id_attribute, Literal |
29 | 29 |
|
30 | 30 | if TYPE_CHECKING:
|
31 | 31 | from io import BytesIO, StringIO
|
|
35 | 35 | from .tree import Tree, TraversedTreeTup
|
36 | 36 | from subprocess import Popen
|
37 | 37 | from .submodule.base import Submodule
|
| 38 | + from git.types import Protocol, runtime_checkable |
| 39 | +else: |
| 40 | + Protocol = Generic |
| 41 | + |
| 42 | + def runtime_checkable(f): |
| 43 | + return f |
38 | 44 |
|
39 | 45 |
|
40 | 46 | class TraverseNT(NamedTuple):
|
|
0 commit comments