This Day In History For 2027-08-15
1 Year Ago (more context)
|
2026-08-15
| ||
| 23:20 | conversion under the staged-publication discipline plus the provenance technote (#61): the bundle's atomic rename is the only commit point (a failed run leaves a sweepable .zit-tmp-*, never a half-repo), and the old->new map ships as a deterministic event artifact inside the converted repository — sorted pairs, source-tip timestamp, project-code-derived id — so external hash citations resolve by lookup closed check-in: cbbc910841 user: dmestas tags: import-fossil | |
| 23:20 |
wiki and ticket authoring verbs (#71)
zit wiki commit and zit ticket new/set record wiki and ticket-change artifacts on a bare store via -R, under the store write lock. Machine verbs: hash-only stdout, exact exit codes, unlisted in the human help but fully documented via their own --help. check-in: fe8d14d754 user: dmestas tags: trunk | |
| 22:49 | import-fossil --submanifest converts (#61): topo-ordered re-mint of every check-in as an S-tree (text-level card rewrite — F run out, S run in sorted position, B dropped, P/Q/T chased through the old->new map, PGP stripped and counted, Z resealed), control artifacts remapped, blobs and non-referencing chains verbatim, clusters dropped; every (old,new) pair proven file-set-equivalent through the destination flattener before anything survives, counts reconciled against the census, failed runs roll back to nothing. --compatible byte-exactness is a pinned invariant: the frames census of an imported corpus equals the origin's stream, and the import still pulls from it (#73's prerequisite) check-in: 5d61c0da47 user: dmestas tags: import-fossil | |
| 20:52 | fossil_convert: the corpus census and the re-mint cascade rule (#61) — classify every artifact, count the remap surface (check-ins re-mint; wiki/forum/ticket/attachment chains carry verbatim under kept content names), state the casualties (PGP signatures strip, clusters drop), and refuse an incomplete corpus; --submanifest prints the census as the conversion's reconciliation baseline check-in: ce57c94b6d user: dmestas tags: import-fossil | |
| 18:46 | import-fossil verb (#61): the compatibility consequence is chosen at import time — --compatible preserves the corpus verbatim through the clone machinery and stays in the origin's sync world; --submanifest runs the whole-history replay gate (static k sweep at the tip, winner±1 replayed, refuse-if-worse without --force) ahead of the conversion pass, which lands next; fossil support lives in src/fossil/ beside src/git/ check-in: 4c24d037b7 user: dmestas tags: import-fossil | |
| 18:08 | add src/ignore.zig, dropped from the #64 commit check-in: 2d981d8f85 user: dmestas tags: trunk | |
| 18:07 |
ignore mechanism: ignore-glob setting, .zit-settings/ignore-glob, .zitignore (#64)
extras, addremove, clean, and add's directory expansion share one exclusion point; explicitly named files still add. Fossil glob dialect for the setting and versioned file, gitignore dialect for a root .zitignore, unioned when both exist. check-in: 5c68eb4688 user: dmestas tags: trunk | |
| 17:39 | the submanifest -R pin follows the analyze-mode grant check-in: dab7ec41f3 user: dmestas tags: import-fossil | |
| 17:19 | submanifest analyze: -R over a bare store (tip file set, no checkout) and --replay-all for whole-history replay (#61 step 2) — the conversion gate's evidence pass and before/after table in one read-only command; settings actions refuse -R in-verb check-in: 70b7e2f06e user: dmestas tags: import-fossil | |
| 16:37 | extract the staged-publication pipeline into src/publication.zig (#61 step 1): PublicationBundle's one-way stage transaction, PublicationHooks, generation names, and the atomic-rename extern move verbatim; git_import_cli re-exports the same names, so import-git behavior, tests, and callers are unchanged — history converters share one publication discipline check-in: 7eff935454 user: dmestas tags: import-fossil | |
| 16:24 | gate: check zig fmt check-in: ad900494fb user: dmestas tags: trunk | |
| 16:16 | zig fmt check-in: 54cdfbbfaa user: dmestas tags: trunk | |
| 16:08 | mirror-export: prune closed-branch refs on every export check-in: b0fde46c32 user: dmestas tags: trunk | |
| 16:08 | • Edit [7ac1ec2255]: Mark "Closed". artifact: 90fa8e901e user: dmestas | |
| 15:58 | merge worktrees: detached checkouts, store lock, open --store re-point (#59) check-in: bcbf29d017 user: dmestas tags: trunk | |
| 15:30 | • Edit [4002513eeb]: Mark "Closed". Edit check-in comment. artifact: b2a2c2d6d0 user: dmestas | |
| 15:30 | merge diff-repo-override: bare-store diff --from/--to via -R (#69) check-in: 8066a7c21d user: dmestas tags: trunk | |
| 15:16 | diff --from/--to honors -R (#69): the check-in pair touches no working tree, so a bare store serves it; the worktree comparison refuses -R in-verb with the works-in-a-checkout diagnostic closed check-in: 4002513eeb user: dmestas tags: diff-repo-override | |
| 15:06 |
open --store re-points an already-open tree (#59)
A moved store strands its satellites, and a stranded tree can hold uncommitted work. Re-open repairs the pointer in place, gated on the new store containing the tree's current check-in. closed check-in: 7ac1ec2255 user: dmestas tags: worktrees | |
| 13:39 |
worktrees: detached checkouts of one store (#59)
Every store writer serializes on an exclusive flock held open-to-commit (released before autosync and the drift advisory). A checkout's store_location section is resolved in one place; open --store PATH creates a detached working tree, and probeRoot accepts a checkout whose pointer resolves. Store-scoped verbs (pack, shun, serve) follow the pointer end to end. check-in: 94d4659a53 user: dmestas tags: worktrees | |
| 13:04 | • Edit [21fa16cc4b]: Mark "Closed". Edit check-in comment. artifact: 7559f1049d user: dmestas | |
| 13:04 | merge help-topics: help topics, single-source option fragments, exit-status blocks everywhere, mechanical usage-line audit (#68) check-in: 9a5ae9774b user: dmestas tags: trunk | |
| 12:50 | help topics (#68): 'zit help names/sparse/repo/exit-codes'; verbs point at the names topic instead of restating the resolution litany (timestamp forms were documented in one help of six); unknown help topics refuse with exit 2; the -R/--no-cache prose and the conventional exit-status block become single spliced consts (28 helps gain the block); a unit test asserts every options-table flag reaches its usage line — it caught commit --no-sync, merge --no-sync, and the cone flags on open/update/clone closed check-in: 21fa16cc4b user: dmestas tags: help-topics | |
| 12:10 |
import-git: O(changes) per-commit cost and live progress (#65)
Tree edits adopt untouched sibling leaves, the tree witness digest is structural over the root S-run (flat digests unchanged), and log reads go through a primed plaintext cache. Ingest reports strided progress with pack/verify phase markers. check-in: db4b2573e7 user: dmestas tags: trunk | |
| 09:21 | • Edit [69c14cd747]: Mark "Closed". Edit check-in comment. artifact: 12d521f1a8 user: dmestas | |
| 09:19 | • Edit [6e064b7301]: Mark "Closed". Edit check-in comment. artifact: 8d52a5115d user: dmestas | |
| 09:19 | • Edit [68eba6cd49]: Mark "Closed". Edit check-in comment. artifact: 24c6607f2a user: dmestas | |
| 04:01 | merge read-verbs: frames incremental artifact stream and annotate VERSION/--full (#66, #67) check-in: b41272c88c user: dmestas tags: trunk | |
| 02:52 | read verbs for external consumers (#66, #67): frames streams whole raw artifacts since an opaque cursor in persisted order, with LogKey prefix validation (appends keep a cursor alive, a pack/shun rewrite fails it with exit 4; exit 3 = current) and per-artifact hash verification; annotate gains a VERSION operand resolved like cat's (bare-repo -R works) and --full for full artifact IDs closed check-in: 68eba6cd49 user: dmestas tags: read-verbs | |
| 01:03 | merge sparse-cone: sparse checkouts and sparse stores per draft-fossil-sparse-cone-00 — worktree cones with exclusions, cone-scoped clone/open/update, cone/cone-not wire pragmas with graceful degradation, demand fetch, pack --drop-elided, cross-cone record merges, and the sparse-origin clone refusal check-in: 2ad75a9bea user: dmestas tags: trunk | |
| 00:39 | sparse origin refuses clones it does not cover (spec 5.3): dense and uncovered-cone clone requests answer one error card and no content; the client treats a progress-free error round-0 reply as fatal (spec amended — the sync 11.1 discard tolerance is for cosmetic cards on progressing replies) and quotes the peer's refusal closed check-in: 6e064b7301 user: dmestas tags: sparse-cone | |