Skip to content

Commit e51bfdf

Browse files
authored
Merge pull request #1925 from Andrej730/main
typing fixes - DiffIndex generic type and IndexFile items
2 parents 1e1a858 + 77fb5f0 commit e51bfdf

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

Diff for: git/diff.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ def diff(
187187
paths: Union[PathLike, List[PathLike], Tuple[PathLike, ...], None] = None,
188188
create_patch: bool = False,
189189
**kwargs: Any,
190-
) -> "DiffIndex":
190+
) -> "DiffIndex[Diff]":
191191
"""Create diffs between two items being trees, trees and index or an index and
192192
the working tree. Detects renames automatically.
193193
@@ -581,7 +581,7 @@ def _pick_best_path(cls, path_match: bytes, rename_match: bytes, path_fallback_m
581581
return None
582582

583583
@classmethod
584-
def _index_from_patch_format(cls, repo: "Repo", proc: Union["Popen", "Git.AutoInterrupt"]) -> DiffIndex:
584+
def _index_from_patch_format(cls, repo: "Repo", proc: Union["Popen", "Git.AutoInterrupt"]) -> DiffIndex["Diff"]:
585585
"""Create a new :class:`DiffIndex` from the given process output which must be
586586
in patch format.
587587
@@ -674,7 +674,7 @@ def _index_from_patch_format(cls, repo: "Repo", proc: Union["Popen", "Git.AutoIn
674674
return index
675675

676676
@staticmethod
677-
def _handle_diff_line(lines_bytes: bytes, repo: "Repo", index: DiffIndex) -> None:
677+
def _handle_diff_line(lines_bytes: bytes, repo: "Repo", index: DiffIndex["Diff"]) -> None:
678678
lines = lines_bytes.decode(defenc)
679679

680680
# Discard everything before the first colon, and the colon itself.
@@ -747,7 +747,7 @@ def _handle_diff_line(lines_bytes: bytes, repo: "Repo", index: DiffIndex) -> Non
747747
index.append(diff)
748748

749749
@classmethod
750-
def _index_from_raw_format(cls, repo: "Repo", proc: "Popen") -> "DiffIndex":
750+
def _index_from_raw_format(cls, repo: "Repo", proc: "Popen") -> "DiffIndex[Diff]":
751751
"""Create a new :class:`DiffIndex` from the given process output which must be
752752
in raw format.
753753

Diff for: git/index/base.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -658,7 +658,7 @@ def _to_relative_path(self, path: PathLike) -> PathLike:
658658
return os.path.relpath(path, self.repo.working_tree_dir)
659659

660660
def _preprocess_add_items(
661-
self, items: Sequence[Union[PathLike, Blob, BaseIndexEntry, "Submodule"]]
661+
self, items: Union[PathLike, Sequence[Union[PathLike, Blob, BaseIndexEntry, "Submodule"]]]
662662
) -> Tuple[List[PathLike], List[BaseIndexEntry]]:
663663
"""Split the items into two lists of path strings and BaseEntries."""
664664
paths = []
@@ -749,7 +749,7 @@ def _entries_for_paths(
749749

750750
def add(
751751
self,
752-
items: Sequence[Union[PathLike, Blob, BaseIndexEntry, "Submodule"]],
752+
items: Union[PathLike, Sequence[Union[PathLike, Blob, BaseIndexEntry, "Submodule"]]],
753753
force: bool = True,
754754
fprogress: Callable = lambda *args: None,
755755
path_rewriter: Union[Callable[..., PathLike], None] = None,
@@ -976,7 +976,7 @@ def _items_to_rela_paths(
976976
@default_index
977977
def remove(
978978
self,
979-
items: Sequence[Union[PathLike, Blob, BaseIndexEntry, "Submodule"]],
979+
items: Union[PathLike, Sequence[Union[PathLike, Blob, BaseIndexEntry, "Submodule"]]],
980980
working_tree: bool = False,
981981
**kwargs: Any,
982982
) -> List[str]:
@@ -1036,7 +1036,7 @@ def remove(
10361036
@default_index
10371037
def move(
10381038
self,
1039-
items: Sequence[Union[PathLike, Blob, BaseIndexEntry, "Submodule"]],
1039+
items: Union[PathLike, Sequence[Union[PathLike, Blob, BaseIndexEntry, "Submodule"]]],
10401040
skip_errors: bool = False,
10411041
**kwargs: Any,
10421042
) -> List[Tuple[str, str]]:
@@ -1478,7 +1478,7 @@ def diff(
14781478
paths: Union[PathLike, List[PathLike], Tuple[PathLike, ...], None] = None,
14791479
create_patch: bool = False,
14801480
**kwargs: Any,
1481-
) -> git_diff.DiffIndex:
1481+
) -> git_diff.DiffIndex[git_diff.Diff]:
14821482
"""Diff this index against the working copy or a :class:`~git.objects.tree.Tree`
14831483
or :class:`~git.objects.commit.Commit` object.
14841484

0 commit comments

Comments
 (0)