pub type Change = ChangeRef<'static, 'static>;Available on crate feature
index only.Expand description
The fully-owned version of ChangeRef.
Aliased Type§
pub enum Change {
Addition {
location: Cow<'static, BStr>,
index: usize,
entry_mode: Mode,
id: Cow<'static, oid>,
},
Deletion {
location: Cow<'static, BStr>,
index: usize,
entry_mode: Mode,
id: Cow<'static, oid>,
},
Modification {
location: Cow<'static, BStr>,
previous_index: usize,
previous_entry_mode: Mode,
previous_id: Cow<'static, oid>,
index: usize,
entry_mode: Mode,
id: Cow<'static, oid>,
},
Rewrite {
source_location: Cow<'static, BStr>,
source_index: usize,
source_entry_mode: Mode,
source_id: Cow<'static, oid>,
location: Cow<'static, BStr>,
index: usize,
entry_mode: Mode,
id: Cow<'static, oid>,
copy: bool,
},
}Variants§
Addition
An entry was added to rhs.
Fields
Deletion
An entry was removed from rhs.
Fields
Modification
An entry was modified, i.e. has changed its content or its mode.
Fields
Rewrite
An entry was renamed or copied from lhs to rhs.
A rename is effectively fusing together the Deletion of the source and the Addition of the destination.
Fields
§
source_location: Cow<'static, BStr>The location of the source of the rename or copy operation, in lhs.
§
source_index: usizeThe index of the entry before the rename, into the entries array of rhs for full access.
§
source_id: Cow<'static, oid>The object id of the entry before the rewrite.
Note that this is the same as id if we require the similarity to be 100%, but may
be different otherwise.