pub struct Repo { /* private fields */ }Expand description
A Git Repository
Implementations§
Source§impl Repo
impl Repo
Sourcepub fn clone_from(url: &str, dir: Option<String>) -> IOResult<Self>
pub fn clone_from(url: &str, dir: Option<String>) -> IOResult<Self>
clone a git repo
§Arguments
url- a string that holds de repo url from where we will clonedir- an optional string with the path where the cloned repo will be out. If None the dir wil be created based on url.
§Examples
// will write the repo on /tmp/rs-git directory
use rs_git_lib::Repo;
let repo = Repo::clone_from("https://github.com/lnds/rs-git-lib.git", Some("/tmp/rs-git".to_string()));Sourcepub fn refs(self) -> Vec<Ref>
pub fn refs(self) -> Vec<Ref>
return references of cloned repo
use rs_git_lib::Repo;
let repo = Repo::clone_from("https://github.com/lnds/rs-git-lib.git", Some("/tmp/rs-git".to_string()));
let refs = repo.unwrap().refs();
assert_eq!(refs[0].name, "HEAD");
assert_eq!(refs[1].name, "refs/heads/master");Sourcepub fn dir(self) -> String
pub fn dir(self) -> String
return output directory of cloned repo
use rs_git_lib::Repo;
let repo = Repo::clone_from("https://github.com/lnds/rs-git-lib.git", Some("/tmp/rs-git".to_string())).unwrap();
assert_eq!(repo.dir(), "/tmp/rs-git");Sourcepub fn count_objects(self) -> usize
pub fn count_objects(self) -> usize
return how many objects are in the repo
use rs_git_lib::Repo;
let repo = Repo::clone_from("https://github.com/lnds/rs-git-lib.git", Some("/tmp/rs-git".to_string())).unwrap();
assert!(repo.count_objects() > 1);
let repo = Repo::clone_from("https://github.com/lnds/redondeo.git", Some("/tmp/redondeo".to_string())).unwrap();
assert_eq!(repo.count_objects(), 25);Sourcepub fn commits(&self) -> IOResult<Vec<GitObject>>
pub fn commits(&self) -> IOResult<Vec<GitObject>>
return the list of commit objects from current branch
use rs_git_lib::Repo;
let repo = Repo::clone_from("https://github.com/lnds/redondeo.git", Some("/tmp/redondeo".to_string())).unwrap();
let commits = repo.commits().unwrap();
assert_eq!(commits.len(), 5);
assert_eq!(commits[4].as_commit().unwrap().get_message(), "Initial commit".to_string())pub fn read_object(&self, sha: &str) -> IOResult<GitObject>
Auto Trait Implementations§
impl Freeze for Repo
impl !RefUnwindSafe for Repo
impl Send for Repo
impl !Sync for Repo
impl Unpin for Repo
impl UnsafeUnpin for Repo
impl UnwindSafe for Repo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more