Struct git_repository::discover::upwards::Options
source · pub struct Options<'a> {
pub required_trust: Trust,
pub ceiling_dirs: Vec<PathBuf, Global>,
pub match_ceiling_dir_or_error: bool,
pub cross_fs: bool,
pub current_dir: Option<&'a Path>,
}
Expand description
Options to help guide the discovery of repositories, along with their options when instantiated.
Fields§
§required_trust: Trust
When discovering a repository, assure it has at least this trust level or ignore it otherwise.
This defaults to Reduced
as our default settings are geared towards avoiding abuse.
Set it to Full
to only see repositories that are owned by the current user.
ceiling_dirs: Vec<PathBuf, Global>
When discovering a repository, ignore any repositories that are located in these directories or any of their parents.
Note that we ignore ceiling directories if the search directory is directly on top of one, which by default is an error
if match_ceiling_dir_or_error
is true, the default.
match_ceiling_dir_or_error: bool
If true, default true, and ceiling_dirs
is not empty, we expect at least one ceiling directory to
contain our search dir or else there will be an error.
cross_fs: bool
if true
avoid crossing filesystem boundaries.
Only supported on Unix-like systems.
current_dir: Option<&'a Path>
If set, the current working directory (absolute path) to use when resolving relative paths. Note that that this is merely an optimization for those who discover a lot of repositories in the same process.
If unset, the current working directory will be obtained automatically.
Implementations§
source§impl Options<'_>
impl Options<'_>
sourcepub fn apply_environment(self) -> Options<'_>
pub fn apply_environment(self) -> Options<'_>
Loads discovery options overrides from the environment.
The environment variables are:
GIT_CEILING_DIRECTORIES
forceiling_dirs
Note that GIT_DISCOVERY_ACROSS_FILESYSTEM
for cross_fs
is not read,
as it requires parsing of git-config
style boolean values.
In addition, this function disables match_ceiling_dir_or_error
to allow
discovery if an outside environment variable sets non-matching ceiling directories.