pub struct GitContext { /* private fields */ }
Expand description

A context for performing git commands.

Implementations§

source§

impl GitContext

source

pub fn new<P>(gitdir: P) -> Selfwhere P: Into<PathBuf>,

Create a new context for the given directory.

source

pub fn new_with_config<P, C>(gitdir: P, config: C) -> Selfwhere P: Into<PathBuf>, C: Into<PathBuf>,

Create a new context for the given directory with git configuration.

source

pub fn git(&self) -> Command

Run a git command in the context.

This builds a Command with the proper environment to operate within the context.

source

pub fn fetch<R, I, N>(&self, remote: R, refnames: I) -> Result<(), GitError>where R: AsRef<str>, I: IntoIterator<Item = N>, N: AsRef<OsStr>,

Fetch references from the given remote.

The remote is interpreted by Git, so it can be a remote or a specific URL.

source

pub fn fetch_into<R, N, T>( &self, remote: R, refname: N, target: T ) -> Result<(), GitError>where R: AsRef<str>, N: AsRef<str>, T: AsRef<str>,

Fetch a commit from the given remote into a specific local refname.

source

pub fn force_fetch_into<R, N, T>( &self, remote: R, refname: N, target: T ) -> Result<(), GitError>where R: AsRef<str>, N: AsRef<str>, T: AsRef<str>,

Fetch a commit from the given remote into a specific local refname, allowing rewinds.

source

pub fn default_branch(&self) -> Result<Option<String>, GitError>

Determine the “default branch” for the repository.

source

pub fn prepare(&self, rev: &CommitId) -> Result<GitWorkArea, WorkAreaError>

Create a tree where further work on the given revision can occur.

source

pub fn reserve_ref<N>( &self, name: N, commit: &CommitId ) -> Result<(String, usize), GitError>where N: AsRef<str>,

Reserve a refname for the given commit.

Returns the name of the reserved ref pointing to the given commit and its ID.

The reserved reference is created as refs/{name}/heads/{id} where id is a unique integer (which is also returned).

source

pub fn reserve_refs<N>( &self, name: N, commit: &CommitId ) -> Result<(String, String), GitError>where N: AsRef<str>,

Reserve two refnames for the given commit.

Returns the names of the two reserved refs, the first pointing to the given commit and the second available for further work.

The reserved references are created as refs/{name}/heads/{id} and refs/{name}/bases/{id} where the bases reference is available to point to an object associated with the heads reference.

It is assumed that the bases refs are aligned with the heads references and not used for other purposes.

source

pub fn mergeable( &self, base: &CommitId, topic: &CommitId ) -> Result<MergeStatus, GitError>

Check if a topic commit is mergeable into a target branch.

source

pub fn gitdir(&self) -> &Path

The path to the git repository.

Trait Implementations§

source§

impl Clone for GitContext

source§

fn clone(&self) -> GitContext

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GitContext

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.