Skip to content
zit Timeline
Login

Timeline

Parents and children of check-in [09fa1a7fb3]

2026-09-02
01:32
annotate walks the file's versions, not the whole ancestry

Every ancestor cost a manifest read and a full-file line diff — ~36k of each on SQLite where ~400 touched the file. The cache records already say who changed PATH (their diff is against the primary parent, so unlisted means byte-equal there): untouched ancestors inherit the parent's content pointer, the engine copies the parent's origins on pointer-identity, and the LCS trims the common prefix/suffix before its O(n*m) table.

Unfinishable on SQLite before; 0.5-1.2s typical, 57s for a 15k-line heavily-edited file (the multi-hunk quadratic middle remains — a real diff core is the named follow-up). Attribution of a repeated line between equally-valid origins can shift, as any LCS tiebreak may.

zit#172 check-in: 22bdf84fd3 user: dmestas tags: trunk

2026-09-01
23:10
timeline reads no manifest for what the state answers; count the reads that remain

The default-format timeline inflated a manifest per row — the fetch condition still said 'a.format != .oneline' from when oneline was the default, so zit#170's medium default made every row read one for two strings the image now carries. 66.5s to 0.37s for the full SQLite timeline, output identical.

Repository.manifest counts its reads (ZIT_MANIFEST_READS=1 reports on exit), and an e2e runs ten listings over two history sizes and requires identical counts — a per-row reader fails by construction, no timing, no constants.

zit#172 check-in: 09fa1a7fb3 user: dmestas tags: trunk

2026-08-31
17:02
image: carry the comment and login per rid, so a listing reads no manifest

zit leaves read and parsed a whole manifest per row — through its delta chain — for the comment's first line and the login. A warm store is image-backed and the image carried neither, so commentOf answered null and every row fell back to that read: 472 leaves, one second, on sqlite.

The image now materializes both: the comment CSR-addressed per rid, the login interned (a repository has a handful of committers). layout_version 6 — an older image is a miss and rebuilds, as the disposable cache intends.

0.3.2. check-in: 71d327a695 user: dmestas tags: trunk, version-0.3.2