pub struct Options {
    pub sorting: Option<Sorting>,
    pub object_hash: Kind,
    pub tracked_file_modifications: Options,
    pub dirwalk: Option<Options>,
    pub rewrites: Option<Rewrites>,
}
Available on crate feature worktree-rewrites only.
Expand description

Fields§

§sorting: Option<Sorting>

The way all output should be sorted.

If None, and depending on the rewrites field, output will be immediate but the output order isn’t determined, and may differ between two runs. rewrites also depend on the order of entries that are presented to it, hence for deterministic results, sorting needs to be enabled.

If Some(_), all entries are collected beforehand, so they can be sorted before outputting any of them to the user.

If immediate output of entries in any order is desired, this should be None, along with rewrites being None as well.

§object_hash: Kind

The kind of hash to create when hashing worktree entries.

§tracked_file_modifications: Options

Options to configure how modifications to tracked files should be obtained.

§dirwalk: Option<Options>

Options to control the directory walk that informs about untracked files.

Note that we forcefully disable emission of tracked files to avoid any overlap between emissions to indicate modifications, and those that are obtained by the directory walk.

If None, the directory walk portion will not run at all, yielding data similar to a bare index_as_worktree() call.

§rewrites: Option<Rewrites>

The configuration for the rewrite tracking. Note that if set, the dirwalk should be configured to not collapse untracked and ignored entries, as rewrite tracking is on a file-by-file basis. Also note that when Some(_), it will collect certain changes depending on the exact configuration, which typically increases the latency until the first entries are received. Note that some entries are never candidates for renames, which means they are forwarded to the caller right away.

If None, no tracking will occur, which means that all output becomes visible to the delegate immediately.

Trait Implementations§

source§

impl Clone for Options

source§

fn clone(&self) -> Options

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for Options

source§

fn default() -> Options

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

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.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.