-
-
Notifications
You must be signed in to change notification settings - Fork 965
Join Pathlike Object to Tree
#2094
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks a lot, this looks very good to me! It's a bit sad that we have some test duplication to validate various types, but I guess it's better than not having them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR extends the Tree.join and Tree.__truediv__ API to support pathlike objects (such as pathlib.Path), enabling more Pythonic path handling when traversing Git tree objects. Previously, users had to explicitly convert Path objects to strings; now they can use them directly with the / operator.
- Type annotations updated from
strtoPathLikefor both methods - Implementation uses
os.fspath()to convert PathLike objects to strings - Comprehensive test coverage added for PathLike support with various scenarios
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| git/objects/tree.py | Updated join() and __truediv__() methods to accept PathLike parameters; added os.fspath() conversion; imported os module |
| test/test_tree.py | Added comprehensive test cases for string and PathLike path lookups covering simple, nested, folder, and invalid path scenarios; imported pytest, Repo, and PathLikeMock |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
Rename blob to tree Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This extends the
Tree.joinandTree.__truediv__API to allow a pathlike object.For example:
This did not work before without explicitly converting the
Pathto a string, but works now.