Make RepoContext work outside of GitHub repos #307
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.
Fixes microsoft/vscode#256597
Problem
The current
RepoContext
component in the agent prompt was limited to GitHub repositories because it usedgetGitHubRepoInfoFromContext()
, which only returns information for GitHub repos. This blocked the component from providing valuable SCM context for CI/CD tools and other use cases in non-GitHub repositories.When working with Azure DevOps, GitLab, or other Git repositories, the RepoContext component would fail silently and provide no repository context to the AI assistant, limiting its ability to understand the codebase structure and provide relevant suggestions.
Solution
This PR updates the
RepoContext
component to work with any Git repository, not just GitHub repositories:Key Changes
Use generic repository detection: Replace
getGitHubRepoInfoFromContext()
withgetOrderedRepoInfosFromContext()
which supports GitHub, Azure DevOps, and other repository typesProvide repository context regardless of type: Show basic repository information (current branch, repository name/path) even for repositories that aren't GitHub or Azure DevOps
Handle GitHub-specific features gracefully: Only attempt to fetch GitHub-specific information (like PR descriptions) when the repository is actually hosted on GitHub
Maintain backward compatibility: Keep the same output format and behavior for GitHub repositories
Repository Support Matrix
* Only available when GitHub PR extension is installed and accessible
Example Output
Before (GitHub only):
After (All repository types):
Benefits
Testing
Added comprehensive unit tests covering:
Fixes microsoft/vscode#256753
Created from VS Code via the GitHub Pull Request extension.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.