entrySummary
What a history entry changed, from the entry before it (a merge: what it brought), kept: an entry never changes.
import { entryDiff, summaryOf } from "#codebase/tcmts/share"; import type { EntrySummary, Share } from "#codebase/tcmts/share"; export function entrySummary(s: Pick<Share, "cb" | "cache">, hash: string): EntrySummary { const kept = s.cache.entries.get(hash); if (kept) return kept; const d = entryDiff(s, hash); const summary = d ? summaryOf(d) : { edited: [], added: [], removed: [], renamed: [], propagated: 0 }; s.cache.entries.set(hash, summary); if (s.cache.entries.size > 20_000) s.cache.entries.delete(s.cache.entries.keys().next().value!); return summary; }