Parents and children of check-in [e9eeab7e17]
|
2026-10-20
| ||
| 03:13 |
refactor(sync): drop the closing gate a cascade no longer needs
Each phantom-fill cascade batch already reparents, propagates and applies its leaf rechecks before it commits, so a sync's closing crosslink and the repair after a failed round owed the cascades nothing. Remove the cascade count that kept them running: CrosslinkAfterCascades folds into CrosslinkContext, the sync client and handler stop counting cascaded links, and the handler stores files through storeReceivedFile. The closing gate now runs only when its own sweep linked something, for the sweep's leaf rechecks and the reparent pass. Tracked in #432. check-in: 1ed447441a user: [email protected] tags: main, perf/tag-repair-batch, trunk | |
|
2026-10-19
| ||
| 22:07 |
fix(manifest): propagate tags in the transaction that links the batch
Each link transaction (a sweep batch, a receive transaction, a retried waiter) now reparents and propagates from the parents it wrote plink rows for before it commits, as fossil's crosslink propagates from a check-in's parent in the transaction that links it. A link and the propagation it owes commit or roll back together, so a failed gate or an interrupted process can no longer leave a committed plink edge whose parent's tags never reached the child. The closing gate still applies the batch's leaf rechecks once, runs the reparent pass for parent tags no link transaction reached, and propagates from any parent left by a link outside a link transaction. Tracked in #432. check-in: e9eeab7e17 user: [email protected] tags: main, perf/tag-repair-batch, trunk | |
| 20:40 |
perf(manifest): skip a reparent whose plink rows are already settled
Each phantom-fill cascade batch now runs the repair gate, so the reparent pass runs once per batch rather than once per sync. A check-in whose plink rows already name the parent tag's parents, each a linked check-in, is no longer re-expanded and rewritten, and its parent is not propagated from again. A rewrite against a parent that is not linked yet is still redone at every gate until it is. Tracked in #432. check-in: 4701ed89a2 user: [email protected] tags: main, perf/tag-repair-batch, trunk | |