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 theGHRepo
type 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
LocalRepo
method fails - Parse
Error - Error returned when trying to construct a
GHRepo
with 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}
.