Enum git_repository::config::Source
source · [−]pub enum Source {
System,
Git,
User,
Local,
Worktree,
Env,
Cli,
Api,
}
Expand description
A list of known sources for git configuration in order of ascending precedence.
This means values from the first one will be overridden by values in the second one, and so forth.
Note that included files via include.path
and includeIf.<condition>.path
inherit
their source.
Variants
System
System-wide configuration path. This is defined as
$(prefix)/etc/gitconfig
(where prefix is the git-installation directory).
Git
A platform defined location for where a user’s git application configuration should be located.
If $XDG_CONFIG_HOME
is not set or empty, $HOME/.config/git/config
will be used
on unix.
User
This is usually ~/.gitconfig
on unix.
Local
The configuration of the repository itself, located in .git/config
.
Worktree
Configuration specific to a worktree as created with git worktree
and
typically located in $GIT_DIR/config.worktree
if extensions.worktreeConfig
is enabled.
Env
values parsed from the environment.
Cli
Values set from the command-line.
Api
Entirely internal from a programmatic source
Implementations
sourceimpl Source
impl Source
sourcepub const fn kind(self) -> Kind
pub const fn kind(self) -> Kind
Return true if the source indicates a location within a file of a repository.
sourcepub fn storage_location(
self,
env_var: &mut dyn FnMut(&str)
) -> Option<Cow<'static, Path>>
pub fn storage_location(
self,
env_var: &mut dyn FnMut(&str)
) -> Option<Cow<'static, Path>>
Returns the location at which a file of this type would be stored, or None
if
there is no notion of persistent storage for this source, with env_var
to obtain environment variables.
Note that the location can be relative for repository-local sources like Local
and Worktree
,
and the caller has to known which base it it relative to, namely the common_dir
in the Local
case
and the git_dir
in the Worktree
case.
Be aware that depending on environment overrides, multiple scopes might return the same path, which should
only be loaded once nonetheless.
With env_var
it becomes possible to prevent accessing environment variables entirely to comply with git-sec
permissions for example.
Trait Implementations
sourceimpl Ord for Source
impl Ord for Source
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl PartialEq<Source> for Source
impl PartialEq<Source> for Source
sourceimpl PartialOrd<Source> for Source
impl PartialOrd<Source> for Source
sourcefn partial_cmp(&self, other: &Source) -> Option<Ordering>
fn partial_cmp(&self, other: &Source) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for Source
impl Eq for Source
impl StructuralEq for Source
impl StructuralPartialEq for Source
Auto Trait Implementations
impl RefUnwindSafe for Source
impl Send for Source
impl Sync for Source
impl Unpin for Source
impl UnwindSafe for Source
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more