pub trait Repo {
Show 24 methods
fn path(&self) -> Option<&Path>;
fn user(&self) -> Option<Rc<str>>;
fn is_dirty(&self) -> bool;
fn merge_base(&self, one: Oid, two: Oid) -> Option<Oid>;
fn find_commit(&self, id: Oid) -> Option<Rc<Commit>>;
fn head_commit(&self) -> Rc<Commit>;
fn head_branch(&self) -> Option<Branch>;
fn resolve(&self, revspec: &str) -> Option<Rc<Commit>>;
fn parent_ids(&self, head_id: Oid) -> Result<Vec<Oid>, Error>;
fn commit_count(&self, base_id: Oid, head_id: Oid) -> Option<usize>;
fn commit_range(
&self,
base_bound: Bound<&Oid>,
head_bound: Bound<&Oid>
) -> Result<Vec<Oid>, Error>;
fn contains_commit(
&self,
haystack_id: Oid,
needle_id: Oid
) -> Result<bool, Error>;
fn cherry_pick(&mut self, head_id: Oid, cherry_id: Oid) -> Result<Oid, Error>;
fn squash(&mut self, head_id: Oid, into_id: Oid) -> Result<Oid, Error>;
fn stash_push(&mut self, message: Option<&str>) -> Result<Oid, Error>;
fn stash_pop(&mut self, stash_id: Oid) -> Result<(), Error>;
fn branch(&mut self, name: &str, id: Oid) -> Result<(), Error>;
fn delete_branch(&mut self, name: &str) -> Result<(), Error>;
fn find_local_branch(&self, name: &str) -> Option<Branch>;
fn find_remote_branch(&self, remote: &str, name: &str) -> Option<Branch>;
fn local_branches(&self) -> Box<dyn Iterator<Item = Branch> + '_>;
fn remote_branches(&self) -> Box<dyn Iterator<Item = Branch> + '_>;
fn detach(&mut self) -> Result<(), Error>;
fn switch(&mut self, name: &str) -> Result<(), Error>;
}