pub type Change = ChangeRef<'static, 'static>;
Available on crate feature
index
only.Expand description
The fully-owned version of ChangeRef
.
Aliased Type§
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: usize
The 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.