Struct git_workarea::GitWorkArea
[−]
[src]
pub struct GitWorkArea { /* fields omitted */ }
A representation of an empty workarea where actions which require a work tree and an index may be preformed.
Methods
impl GitWorkArea
[src]
fn new(context: GitContext, rev: &CommitId) -> Result<Self>
Create an area for performing actions which require a work tree.
fn git(&self) -> Command
Run a git command in the workarea.
fn checkout<P>(&self, paths: &[P]) -> Result<()> where
P: AsRef<OsStr>,
P: AsRef<OsStr>,
Checkout paths from the index to the filesystem.
Normally, files are not placed into the worktree, so checks which use other tools to inspect file contents do not work. This method checks out files to the working directory and fixes up Git's knowledge that they are there.
All paths supported by Git's globbing and searching mechanisms are supported.
fn setup_merge<'a>(
&'a self,
bases: &[CommitId],
base: &CommitId,
topic: &CommitId
) -> Result<MergeResult<'a>>
&'a self,
bases: &[CommitId],
base: &CommitId,
topic: &CommitId
) -> Result<MergeResult<'a>>
Prepare a command to create a merge commit.
The merge is performed, but only as a tree object. In order to create the actual commit
object, a successful merge returns a command which should be executed to create the commit
object. That commit object should then be stored in a reference using git update-ref
.
fn cd_to_work_tree<'a>(&self, cmd: &'a mut Command) -> &'a mut Command
Run a command from the work tree root.
fn gitdir(&self) -> &Path
The path to the git repository.
fn submodule_config(&self) -> &SubmoduleConfig
The submodule configuration for the repository.
This is read from the .gitmodules
file in the commit (if it exists).