Add a registry for GitHostingProviders (#11470)

This PR adds a registry for `GitHostingProvider`s.

The intent here is to help decouple these provider-specific concerns
from the lower-level `git` crate.

Similar to languages, the Git hosting providers live in the new
`git_hosting_providers` crate.

This work also lays the foundation for if we wanted to allow defining a
`GitHostingProvider` from within an extension. This could be useful if
we wanted to extend the support to work with self-hosted Git providers
(like GitHub Enterprise).

I also took the opportunity to move some of the provider-specific code
out of the `util` crate, since it had leaked into there.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2024-05-06 21:24:48 -04:00 committed by GitHub
parent a64e20ed96
commit 88c4e0b2d8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 405 additions and 229 deletions

View file

@ -1,5 +1,4 @@
mod hosting_provider;
mod hosting_providers;
use anyhow::{anyhow, Context, Result};
use serde::{Deserialize, Serialize};
@ -11,7 +10,6 @@ pub use git2 as libgit;
pub use lazy_static::lazy_static;
pub use crate::hosting_provider::*;
pub use crate::hosting_providers::*;
pub mod blame;
pub mod commit;