Skip to main content

Repo

Struct Repo 

Source
pub struct Repo {
    pub git_repo: Repository,
    pub work_dir: PathBuf,
    pub head: String,
    pub subrepos: Vec<Repo>,
}

Fields§

§git_repo: Repository§work_dir: PathBuf§head: String§subrepos: Vec<Repo>

Implementations§

Source§

impl Repo

Source

pub fn new(work_dir: &Path, head_name: Option<&str>) -> Result<Self>

Source

pub fn get_subrepo_by_path(&self, subrepo_path: &PathBuf) -> Option<&Repo>

Source

pub fn sync(&self) -> Result<()>

Source

pub fn uses_lfs(&self) -> Result<bool>

Source

pub fn lfs_pull_if_needed(&self) -> Result<()>

Source

pub fn lfs_push_if_needed( &self, remote_name: &str, branch_name: &str, ) -> Result<()>

Source

pub fn switch(&self, head: &str) -> Result<()>

Source

pub fn switch_force(&self, head: &str) -> Result<()>

Source

pub fn refresh_worktree(&self) -> Result<()>

Source

pub fn refresh_worktree_force(&self) -> Result<()>

Source

pub fn checkout_path_from_head(&self, path: &Path) -> Result<()>

Source

pub fn fetch(&self) -> Result<()>

Source

pub fn ensure_on_branch(&self, branch_name: &str) -> Result<()>

Source

pub fn ensure_on_branch_existing_or_remote( &self, branch_name: &str, create: bool, ) -> Result<()>

Source

pub fn switch_or_create_preserving( &self, branch_name: &str, create: bool, ) -> Result<()>

Switch the repo to branch_name without touching the working tree beyond what is strictly needed to update HEAD (no force-checkout, no clean check). If the branch does not exist locally and create is true, create it at the current HEAD commit. If create is false and the branch is not found locally, bail with an error. Remote tracking is not consulted.

This is the right call when the caller wants to preserve uncommitted changes.

Source

pub fn merge(&self, branch_name: &str) -> Result<MergeResult>

Source

pub fn get_remote_name_for_branch(&self, branch_name: &str) -> Result<String>

Source

pub fn get_remote_comparison( &self, branch_name: &str, ) -> Result<Option<RemoteComparison>>

Get the ahead/behind count relative to the remote tracking branch

Source

pub fn remote_callbacks(&self) -> Result<RemoteCallbacks<'static>>

Source

pub fn remote_callbacks_verbose(&self) -> Result<RemoteCallbacks<'static>>

Source

pub fn tracking_branch( &self, branch_name: &str, ) -> Result<Option<TrackingBranch>>

Trait Implementations§

Source§

impl Debug for Repo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !Sync for Repo

§

impl Freeze for Repo

§

impl RefUnwindSafe for Repo

§

impl Send for Repo

§

impl Unpin for Repo

§

impl UnsafeUnpin for Repo

§

impl UnwindSafe for Repo

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.