[][src]Struct git_workarea::GitContext

pub struct GitContext { /* fields omitted */ }

A context for performing git commands.

Methods

impl GitContext[src]

pub fn new<P>(gitdir: P) -> Self where
    P: AsRef<Path>, 
[src]

Create a new context for the given directory.

pub fn new_with_config<P, C>(gitdir: P, config: C) -> Self where
    P: AsRef<Path>,
    C: AsRef<Path>, 
[src]

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

pub fn git(&self) -> Command[src]

Run a git command in the context.

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

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

Fetch references from the given remote.

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

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

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

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

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

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

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

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

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

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

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.

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

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

pub fn gitdir(&self) -> &Path[src]

The path to the git repository.

Trait Implementations

impl Clone for GitContext[src]

impl Debug for GitContext[src]

Auto Trait Implementations

Blanket Implementations

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

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

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

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