Join `Pathlike` Object to Tree by George-Ogden · Pull Request #2094 · gitpython-developers/GitPython

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 str to PathLike for 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.