pub struct Options<'a> {
pub required_trust: Trust,
pub ceiling_dirs: Vec<PathBuf>,
pub match_ceiling_dir_or_error: bool,
pub cross_fs: bool,
pub dot_git_only: 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: TrustWhen 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>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: boolIf 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: boolif true avoid crossing filesystem boundaries.
Only supported on Unix-like systems.
dot_git_only: boolIf true, limit discovery to .git directories.
This will fail to find typical bare repositories, but would find them if they happen to be named .git.
Use this option if repos with worktrees are the only kind of repositories you are interested in for
optimal discovery performance.
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.
Note that the path here might or might not contained decomposed unicode, which may end up in a path
relevant us, like the git-dir or the worktree-dir. However, when opening the repository, it will
change decomposed unicode to precomposed unicode based on the value of core.precomposeUnicode, and we
don’t have to deal with that value here just yet.
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_DIRECTORIESforceiling_dirs
Note that GIT_DISCOVERY_ACROSS_FILESYSTEM for cross_fs is not read,
as it requires parsing of git-config style boolean values.