Pluggable source control providers (custom CLI-backed providers for unsupported hosts) #13112
vanilla-wave
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Problem
Both the VCS layer (
VcsDriverKind:git,jj) and the source control provider layer (SourceControlProviderKind:github,gitlab,forgejo,azure-devops,bitbucket) are closed enums. The provider is picked from a hardcoded hostname match on the remote URL. A repository hosted on anything else, such as an internal or less common code review system, is classified asunknown, and the change request features (create, list, status, checkout) don't work for it.Today the only way to get support is to add it to core or keep a fork. A fork is painful because the enums sit in
packages/contractsand are shared by the server and the client, so almost every nightly conflicts with it.Proposal
Add a minimal extension point for source control providers (and, possibly later, VCS drivers) that doesn't require changes to core. For example:
create,list,view,status, andcheckout, much like the built-in providers already wrapgh,glab, andazunknowntodayThis is a narrower, concrete slice of the general extension system discussed in #6714, and it relates to the VCS pluggability question raised in #7033.
Why
It lets people use T3 Code with hosting and review systems that will never get first-class support, without forking and without adding maintenance cost to core.
All reactions