MCPcopy Create free account
hub / github.com/CodSpeedHQ/codspeed / parse_repository_from_remote

Function parse_repository_from_remote

src/cli/run/helpers/parse_git_remote.rs:30–47  ·  view source on GitHub ↗

Parse a git remote URL and extract the provider, owner, and repository name

(remote_url: &str)

Source from the content-addressed store, hash-verified

28
29/// Parse a git remote URL and extract the provider, owner, and repository name
30pub fn parse_repository_from_remote(remote_url: &str) -> Result<ParsedRepository> {
31 let GitRemote {
32 domain,
33 owner,
34 repository,
35 } = parse_git_remote(remote_url)?;
36 let provider = match domain.as_str() {
37 "github.com" => RepositoryProvider::GitHub,
38 "gitlab.com" => RepositoryProvider::GitLab,
39 domain => bail!("Repository provider {domain} is not supported by CodSpeed"),
40 };
41
42 Ok(ParsedRepository {
43 provider,
44 owner,
45 name: repository,
46 })
47}
48
49pub fn parse_git_remote(remote: &str) -> Result<GitRemote> {
50 let captures = REMOTE_REGEX.captures(remote).ok_or_else(|| {

Calls 2

parse_git_remoteFunction · 0.85
as_strMethod · 0.80

Tested by 1