Visitar URL original
Wrong type annotation on `Index.commit` for `parent_commits` · Issue #1866 · gitpython-developers/GitPython · GitHub
Skip to content

Wrong type annotation on Index.commit for parent_commits #1866

Description

@mshonichev

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

  1. Byron commented on Mar 12, 2024

    @Byron
    Member

    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).

  2. EliahKagan commented on Mar 12, 2024

    @EliahKagan
    Member

    Yes, this is part of what #1859 fixes (b4b6e1e).

  3. mshonichev commented on Mar 12, 2024

    @mshonichev
    Author

    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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions