Struct git_workarea::GitWorkArea
source · pub struct GitWorkArea { /* private fields */ }
Expand description
A representation of an empty workarea where actions which require a work tree and an index may be preformed.
Implementations§
source§impl GitWorkArea
impl GitWorkArea
sourcepub fn new(context: GitContext, rev: &CommitId) -> Result<Self, WorkAreaError>
pub fn new(context: GitContext, rev: &CommitId) -> Result<Self, WorkAreaError>
Create an area for performing actions which require a work tree.
sourcepub fn checkout<I, P>(&mut self, paths: I) -> Result<(), GitError>where
I: IntoIterator<Item = P>,
P: AsRef<OsStr>,
pub fn checkout<I, P>(&mut self, paths: I) -> Result<(), GitError>where I: IntoIterator<Item = P>, 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.
sourcepub fn setup_merge<'a>(
&'a self,
bases: &[CommitId],
base: &CommitId,
topic: &CommitId
) -> Result<MergeResult<'a>, GitError>
pub fn setup_merge<'a>( &'a self, bases: &[CommitId], base: &CommitId, topic: &CommitId ) -> Result<MergeResult<'a>, GitError>
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
.
sourcepub fn setup_update_merge<'a>(
&'a self,
base: &CommitId,
topic: &CommitId
) -> Result<MergeResult<'a>, GitError>
pub fn setup_update_merge<'a>( &'a self, base: &CommitId, topic: &CommitId ) -> Result<MergeResult<'a>, GitError>
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
.
sourcepub fn cd_to_work_tree<'a>(&self, cmd: &'a mut Command) -> &'a mut Command
pub fn cd_to_work_tree<'a>(&self, cmd: &'a mut Command) -> &'a mut Command
Run a command from the work tree root.
sourcepub fn submodule_config(&self) -> &SubmoduleConfig
pub fn submodule_config(&self) -> &SubmoduleConfig
The submodule configuration for the repository.
This is read from the .gitmodules
file in the commit (if it exists).