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<'_>

source

pub fn apply_environment(self) -> Options<'_>

Loads discovery options overrides from the environment.

The environment variables are:

  • GIT_CEILING_DIRECTORIES for ceiling_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.

Trait Implementations§

source§

impl Default for Options<'_>

source§

fn default() -> Options<'_>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Options<'a>

§

impl<'a> Send for Options<'a>

§

impl<'a> Sync for Options<'a>

§

impl<'a> Unpin for Options<'a>

§

impl<'a> UnwindSafe for Options<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.