Expand description
ghrepo extracts a GitHub repository’s owner & name from various GitHub
URL formats (or just from a string of the form OWNER/REPONAME or
REPONAME), and the resulting object provides properties for going in
reverse to determine the possible URLs. Also included is a struct for
performing a couple useful inspections on local Git repositories, including
determining the corresponding GitHub owner & repository name.
§Features
The ghrepo crate has the following optional feature:
serde— Enables serializing & deserializing theGHRepotype withserde
§Example
let repo = GHRepo::new("octocat", "repository")?;
assert_eq!(repo.owner(), "octocat");
assert_eq!(repo.name(), "repository");
assert_eq!(repo.to_string(), "octocat/repository");
assert_eq!(repo.html_url(), "https://github.com/octocat/repository");
let repo2 = GHRepo::from_str("octocat/repository")?;
assert_eq!(repo, repo2);
let repo3 = GHRepo::from_str("https://github.com/octocat/repository")?;
assert_eq!(repo, repo3);Structs§
- GHRepo
- A container for a GitHub repository spec, consisting of a repository owner and a repository name (sometimes also called the “repo” component).
- Local
Repo - A local Git repository.
Enums§
- Local
Repo Error - Error returned when a
LocalRepomethod fails - Parse
Error - Error returned when trying to construct a
GHRepowith invalid arguments or parse an invalid repository spec
Functions§
- is_
valid_ name - Test whether a string is a valid repository name.
- is_
valid_ owner - Test whether a string is a valid GitHub user login or organization name.
- is_
valid_ repository - Test whether a string is a valid repository specifier/full name of the form
{owner}/{name}.