pub fn diff(
prev: &BTreeMap<String, NodeMeta>,
curr: &BTreeMap<String, NodeMeta>,
) -> Vec<DiffOp>Expand description
Compute ops that transform prev into curr.
Move detection is a diff-time join on file identity (dev, ino):
disappeared and appeared entries with matching identity become MOVE
(shallowest first, descendants covered), so a renamed directory never
retransmits its files’ content. Anything ambiguous decays to
delete + upsert, which is always valid.