[][src]Struct rs_git_lib::Repo

pub struct Repo { /* fields omitted */ }

A Git Repository

Implementations

impl Repo[src]

pub fn clone_from(url: &str, dir: Option<String>) -> IOResult<Self>[src]

clone a git repo

Arguments

  • url - a string that holds de repo url from where we will clone
  • dir - 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()));

pub fn refs(self) -> Vec<Ref>[src]

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");

pub fn dir(self) -> String[src]

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");

pub fn count_objects(self) -> usize[src]

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);

pub fn commits(&self) -> IOResult<Vec<GitObject>>[src]

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>[src]

Auto Trait Implementations

impl !RefUnwindSafe for Repo

impl Send for Repo

impl !Sync for Repo

impl Unpin for Repo

impl UnwindSafe for Repo

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.