Closed
Description
With GitPython==3.1.42
one can observe following annotation of parent_commits
argument to IndexFile.commit
([1]):
...
parent_commits: Union[Commit_ish, None] = None,
...
which is obviously not correct, because that argument just passed unmodified downwards to Commit.create_from_tree
, which has following annotation instead ([2]):
parent_commits: Union[None, List["Commit"]] = None
That leads to nasty Mypy warnings when one's trying to use IndexFile.commit
with anything different than None
.
[1] - https://github.com/gitpython-developers/GitPython/blob/3.1.42/git/index/base.py#L1080
[2] - https://github.com/gitpython-developers/GitPython/blob/3.1.42/git/objects/commit.py#L506
Activity
Byron commentedon Mar 12, 2024
Thanks for reporting!
I think this issue might be fixed once #1859, which touches on what constitutes
Commit_ish
. @EliahKagan certainly has a much better understanding of the matter though, and I wouldn't want the PR to become larger than it has to be just to include an actual fix (if it's not fixed naturally).EliahKagan commentedon Mar 12, 2024
Yes, this is part of what #1859 fixes (b4b6e1e).
mshonichev commentedon Mar 12, 2024
Great! Wow, just understood, that @Byron at stack overflow threads related to GitPython is actually the package maintainer, so silly of me :). Nice to meet, looking forward PR
parent_commit
conversion/validation is implied but not done #1869