Struct git_repository::worktree::Proxy
source · [−]pub struct Proxy<'repo> { /* private fields */ }
Expand description
A stand-in to a worktree as result of a worktree iteration.
It provides access to typical worktree state, but may not actually point to a valid checkout as the latter has been moved or deleted.
Implementations
sourceimpl<'repo> Proxy<'repo>
impl<'repo> Proxy<'repo>
sourcepub fn base(&self) -> Result<PathBuf>
pub fn base(&self) -> Result<PathBuf>
Read the location of the checkout, the base of the work tree. Note that the location might not exist.
sourcepub fn git_dir(&self) -> &Path
pub fn git_dir(&self) -> &Path
The git directory for the work tree, typically contained within the parent git dir.
sourcepub fn id(&self) -> &BStr
pub fn id(&self) -> &BStr
The name of the worktree, which is derived from its folder within the worktrees
directory within the parent .git
folder.
sourcepub fn is_locked(&self) -> bool
pub fn is_locked(&self) -> bool
Return true if the worktree cannot be pruned, moved or deleted, which is useful if it is located on an external storage device.
sourcepub fn lock_reason(&self) -> Option<BString>
pub fn lock_reason(&self) -> Option<BString>
Provide a reason for the locking of this worktree, if it is locked at all.
Note that we squelch errors in case the file cannot be read in which case the reason is an empty string.
sourcepub fn into_repo_with_possibly_inaccessible_worktree(
self
) -> Result<Repository, Error>
pub fn into_repo_with_possibly_inaccessible_worktree(
self
) -> Result<Repository, Error>
Transform this proxy into a Repository
while ignoring issues reading base()
and ignoring that it might not exist.
Most importantly, the Repository
might be initialized with a non-existing work tree directory as the checkout
was removed or moved in the mean time or is unavailable for other reasons.
The caller will encounter io errors if it’s used like the work tree is guaranteed to be present, but can still access
a lot of information if work tree access is avoided.
sourcepub fn into_repo(self) -> Result<Repository, Error>
pub fn into_repo(self) -> Result<Repository, Error>
Like into_repo_with_possibly_inaccessible_worktree()
but will fail if the base()
cannot be read or
if the worktree doesn’t exist.
Note that it won’t fail if the worktree doesn’t exist.