pub struct Options<'a> {
pub sorting: Option<Sorting>,
pub object_hash: Kind,
pub tracked_file_modifications: Options,
pub dirwalk: Option<Options<'a>>,
pub rewrites: Option<Rewrites>,
}
worktree-rewrites
only.Expand description
Options for use in index_as_worktree_with_renames().
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<'a>>
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§
Auto Trait Implementations§
impl<'a> Freeze for Options<'a>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)