|
4 | 4 | importos
|
5 | 5 | importsys
|
6 | 6 | fromtypingimport (# noqa: F401
|
| 7 | +Any, |
| 8 | +Callable, |
7 | 9 | Dict,
|
8 | 10 | NoReturn,
|
| 11 | +Optional, |
9 | 12 | SequenceasSequence,
|
10 | 13 | Tuple,
|
11 |
| -Union, |
12 |
| -Any, |
13 |
| -Optional, |
14 |
| -Callable, |
15 | 14 | TYPE_CHECKING,
|
16 | 15 | TypeVar,
|
| 16 | +Union, |
17 | 17 | )
|
18 | 18 |
|
19 | 19 | ifsys.version_info>= (3,8):
|
20 | 20 | fromtypingimport (# noqa: F401
|
21 | 21 | Literal,
|
22 |
| -TypedDict, |
23 | 22 | Protocol,
|
24 | 23 | SupportsIndexasSupportsIndex,
|
| 24 | +TypedDict, |
25 | 25 | runtime_checkable,
|
26 | 26 | )
|
27 | 27 | else:
|
28 | 28 | fromtyping_extensionsimport (# noqa: F401
|
29 | 29 | Literal,
|
| 30 | +Protocol, |
30 | 31 | SupportsIndexasSupportsIndex,
|
31 | 32 | TypedDict,
|
32 |
| -Protocol, |
33 | 33 | runtime_checkable,
|
34 | 34 | )
|
35 | 35 |
|
36 | 36 | ifTYPE_CHECKING:
|
37 |
| -fromgit.repoimportRepo |
38 | 37 | fromgit.objectsimportCommit,Tree,TagObject,Blob
|
| 38 | +fromgit.repoimportRepo |
39 | 39 |
|
40 | 40 | PathLike=Union[str,"os.PathLike[str]"]
|
41 | 41 | """A :class:`str` (Unicode) based file or directory path."""
|
|
126 | 126 | gitglossary(7) on "object type": https://git-scm.com/docs/gitglossary#def_object_type
|
127 | 127 | """
|
128 | 128 |
|
| 129 | +Lit_commit_ish=Literal["commit","tag"] |
| 130 | +"""Deprecated. Type of literal strings identifying sometimes-commitish git object types. |
129 | 131 |
|
130 |
| -# FIXME: After replacing the one use with GitObjectTypeString, define Lit_commit_ish |
131 |
| -# somehow (it is a breaking change to remove it entirely). Maybe deprecate it. |
132 |
| -Lit_old_commit_ish=Literal["commit","tag","blob","tree"] |
133 |
| -"""Literal strings identifying concrete :class:`~git.objects.base.Object` subtypes |
134 |
| -representing git object types. |
135 |
| -
|
136 |
| -See the :class:`Object.type <git.objects.base.Object.type>` attribute. |
| 132 | +Prior to a bugfix, this type had been defined more broadly. Any usage is in practice |
| 133 | +ambiguous and likely to be incorrect. Instead of this type: |
137 | 134 |
|
138 |
| -:note: |
139 |
| - See also :class:`Old_commit_ish`, a union of the the :class:`~git.objects.base.Object` |
140 |
| - subtypes associated with these literal strings. |
| 135 | +* For the type of the string literals associated with :class:`Commit_ish`, use |
| 136 | +``Literal["commit", "tag"]`` or create a new type alias for it. That is equivalent to |
| 137 | +this type as currently defined. |
141 | 138 |
|
142 |
| -:note: |
143 |
| - As noted in:class:`Old_commit_ish`, this isnot limitedtotypes of git objects that |
144 |
| - are actually commit-ish. |
| 139 | +* For the type of all four string literals associated with :class:`AnyGitObject`, use |
| 140 | + :class:`GitObjectTypeString`. That isequivalenttothe old definition of this type |
| 141 | +prior to the bugfix. |
145 | 142 | """
|
146 | 143 |
|
147 | 144 | # Config_levels ---------------------------------------------------------
|
|