GeezerVison is showing github.com — rev_parse does not handle <tag>^{commit} correctly · Issue #1995 · gitpython-developers/GitPython
rev_parse does not handle <tag>^{commit} correctly #1995
Description
git rev-parse <tag>^{commit} resolves to the commit that the tag points to.
repo.rev_parse("<tag>^{commit}") says ValueError: Could not accommodate requested object type 'commit', got tag
It should instead return TagObject.object (at least if that is a commit object).
Activity
flichtenheld commented on Jan 9, 2025
ContributorAuthor
More actions
Re-verified that is present in the current release (3.1.44)
flichtenheld commented on Jan 9, 2025
ContributorAuthor
More actions
Interestingly it tries to resolve the tag when you specify ^{blob} although it is not clear to me when this would ever work given that TagObject.object is usually a commit.
flichtenheld commented on Jan 9, 2025
ContributorAuthor
More actions
Found from the test suite that <tag>^{} works. So this a usable work-around. Will prepare a patch anyway.
Reacted by Sebastian Thiel
added a commit that references this issue
on Jan 9, 2025This issue will close once commit e4f1aa7 is merged into the 'main' branch.e4f1aa7 Byron commented on Jan 10, 2025
Thanks a lot for digging into this!
I may also add that this implementation is definitely not according to 'spec' and probably just superficially resembles git rev-parse semantics.
Probably it's just good enough for the common cases, which is a reason for issues around it being quite rare overall.
Metadata
Metadata
Development
No branches or pull requestsIssue actions