pub enum GraphSource {
Committed,
Worktree,
Index,
}Expand description
Which tree the graph — derived layer and authored layer — is built from:
the committed HEAD, the working tree (uncommitted edits on disk), or the
git index (the staged tree a commit would record).
It selects the sync engine (crate::sync / crate::sync_worktree /
crate::sync_index) and the authored-layer source
(Repo::read_source) together, which is the point of it being one
type: the two layers disagreeing about which tree they describe is issue
#330, and it was a silent wrong answer rather than a loud one.
Variants§
Committed
The committed HEAD tree (the CI merge gate).
Worktree
The working tree: HEAD plus uncommitted edits to tracked files on disk.
Index
The git index — exactly what a commit would record (the pre-commit gate).
Implementations§
Trait Implementations§
Source§impl Clone for GraphSource
impl Clone for GraphSource
Source§fn clone(&self) -> GraphSource
fn clone(&self) -> GraphSource
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for GraphSource
Source§impl Debug for GraphSource
impl Debug for GraphSource
impl Eq for GraphSource
Source§impl PartialEq for GraphSource
impl PartialEq for GraphSource
impl StructuralPartialEq for GraphSource
Auto Trait Implementations§
impl Freeze for GraphSource
impl RefUnwindSafe for GraphSource
impl Send for GraphSource
impl Sync for GraphSource
impl Unpin for GraphSource
impl UnsafeUnpin for GraphSource
impl UnwindSafe for GraphSource
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.