pub struct Change {
pub path: PathBuf,
pub kind: ChangeKind,
pub entry_kind: Option<EntryKind>,
pub bytes: Option<u64>,
pub allocated: Option<u64>,
pub mtime_ns: Option<i64>,
pub ignored: Option<bool>,
pub clock: u64,
}Expand description
One effective change, already filtered through the run’s selection.
Fields§
§path: PathBufPath relative to the index root.
kind: ChangeKindWhat happened to it.
entry_kind: Option<EntryKind>What the entry is, when it still exists.
bytes: Option<u64>Apparent bytes, when the entry still exists.
allocated: Option<u64>Allocated bytes, when the entry still exists.
mtime_ns: Option<i64>Modification time, when the entry still exists.
ignored: Option<bool>Whether .gitignore rules ignore this entry after the commit.
Set on an upsert, and on a removal a rule edit caused, where the new classification
is why the row left the selection. None on every other record: a session that
observes no control state never claims a classification an index without rules can
make, and an ordinary removal or an invalidation has no entry left to classify. A
report’s rows carry the same split, and a stream that could not would be the one
place a consumer had to guess.
clock: u64The index clock at which this change was committed.