pub enum Op {
Upsert {
path: PathBuf,
kind: EntryKind,
attrs: Attrs,
},
Remove {
path: PathBuf,
},
ControlUpsert {
path: PathBuf,
source: Vec<u8>,
},
ControlRemove {
path: PathBuf,
},
InvalidateSubtree {
path: PathBuf,
reason: InvalidateReason,
},
}Expand description
A single change to one path.
Variants§
Upsert
The entry appeared or changed. Always carries a fresh stat, never a bare event.
Fields
Remove
The entry is gone. Implies removal of every descendant.
ControlUpsert
Exact bytes read from a verified .gitignore control file.
This is separate from the file entry upsert so admission may retain the signal without creating a visible row. Producers normally emit both while control files are visible and only this operation when later admission excludes the row.
Fields
ControlRemove
A previously observed .gitignore control file is absent.
InvalidateSubtree
The producer could not describe the change precisely; the consumer must re-scan this subtree. The scan layer turns this back into precise ops, so escalation is closed-loop rather than a dead end.
Fields
reason: InvalidateReasonWhy the producer could not report precise changes.