Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds support for lightweight tags in the get_tag tool by returning the resolved tag ref directly when the ref points to a commit (instead of attempting to fetch a non-existent tag object and returning 404s).
Changes:
- Added a lightweight-vs-annotated tag type check after resolving the tag ref in
get_tag. - Updated
Test_GetTagto cover both annotated tag (tag object) and lightweight tag (ref-only) responses.
Show a summary per file
| File | Description |
|---|---|
| pkg/github/repositories.go | Adds early return path for lightweight tags based on resolved ref object type. |
| pkg/github/repositories_test.go | Extends get_tag tests to validate lightweight tag behavior and adjusts assertions accordingly. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add lightweight tag handling to
get_tagby returning the ref directly when the tag points to a commit instead of trying to fetch a tag object that doesn't exist.Why
Fixes #2297
get_tagdoes two API calls: resolve the ref, then fetch the tag object. However, while this is fine for annotated tags, lightweight ones point directly to a commit and have no tag object, so the second call always returns a 404.What changed
MCP impact
get_tagnow handles lightweight tags instead of returning a 404Prompts tested (tool changes only)
Security / limits
Tool renaming
deprecated_tool_aliases.goNote: if you're renaming tools, you must add the tool aliases. For more information on how to do so, please refer to the official docs.
Lint & tests
./script/lint./script/testDocs