Enum git_repository::discover::repository::Path
source · pub enum Path {
LinkedWorkTree {
work_dir: PathBuf,
git_dir: PathBuf,
},
WorkTree(PathBuf),
Repository(PathBuf),
}
Expand description
A repository path which either points to a work tree or the .git
repository itself.
Variants
LinkedWorkTree
Fields
work_dir: PathBuf
The base of the work tree.
git_dir: PathBuf
The worktree-private git dir, located within the main git directory which holds most of the information.
The currently checked out linked worktree along with its connected and existing git directory, or the worktree checkout of a submodule.
WorkTree(PathBuf)
The currently checked out or nascent work tree of a git repository
Repository(PathBuf)
The git repository itself, typically bare and without known worktree.
Note that it might still have linked work-trees which can be accessed later, weather bare or not, or it might be a
submodule git directory in the .git/modules/**/<name>
directory of the parent repository.
Implementations
sourceimpl Path
impl Path
sourcepub fn from_dot_git_dir(
dir: impl Into<PathBuf>,
kind: Kind,
current_dir: impl AsRef<Path>
) -> Option<Path>
pub fn from_dot_git_dir(
dir: impl Into<PathBuf>,
kind: Kind,
current_dir: impl AsRef<Path>
) -> Option<Path>
Instantiate a new path from dir
which is expected to be the .git
directory, with kind
indicating
whether it’s a bare repository or not, with current_dir
being used to absolutize relative paths
as needed.
None
is returned if dir
could not be resolved due to being relative and trying to reach outside of the filesystem root.
sourcepub fn into_repository_and_work_tree_directories(
self
) -> (PathBuf, Option<PathBuf>)
pub fn into_repository_and_work_tree_directories(
self
) -> (PathBuf, Option<PathBuf>)
Consume and split this path into the location of the .git
directory as well as an optional path to the work tree.
Trait Implementations
sourceimpl Ord for Path
impl Ord for Path
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl PartialOrd<Path> for Path
impl PartialOrd<Path> for Path
sourcefn partial_cmp(&self, other: &Path) -> Option<Ordering>
fn partial_cmp(&self, other: &Path) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more