Skip to content
go-libfossil Artifact [81fbc0be5f]
Login

Artifact [81fbc0be5f]

Artifact 81fbc0be5f81ed3c038cc1dae92260267f5176666d5f98bc99794437b381e117:

Manifest of check-in [81fbc0be5f] - manifest: fix crosslink's WAL/availability/mlink working-set problems (#158)

* manifest: batch crosslink, memoize availability, preload mlink parents (#89)

Three throughput fixes for the whole-repository crosslink sweep, none of which change its observable output. Profiling the sweep on the Fossil SCM corpus (67,503 blobs, 27,084 events) after the delta-chain-order work (#126) found the earlier bottlenecks had moved on:

- Per-candidate transactions made every SQL statement open its own WAL read-transaction, whose setup cost climbs as the uncheckpointed WAL grows -- throughput collapsed from ~200 events/sec to ~7 within a few seconds of a large sweep. The sweep now commits in batches of crosslinkBatchSize candidates so SQLite checkpoints and truncates the WAL between batches, holding read-transaction cost flat. Batch-granular durability is correct for derived data: an interrupted sweep leaves committed batches and the candidate query re-selects only what is still unlinked. CrosslinkContext is split into crosslinkSweep / collectCrosslinkCandidates / linkCandidatesInOrder / linkBatch, with the per-artifact dispatch pulled into linkArtifact and the deferral rollup into deferCheckin / logDeferredCheckins.
- missingCheckinRefs walked a blob's whole delta chain (content.IsAvailable) once per F-card of every check-in to decide deferral -- ~40% of the sweep, re-walking the same file chains over and over. content.AvailabilityCache memoizes the verdict per rid and stops a walk at the first already-decided ancestor, bounding total walk work by the number of distinct blobs rather than F-card references.
- resolveMlinkParent looked up each F-card's parent version with SELECT ... FROM mlink WHERE mid=? AND fnid=?, which SQLite answers via the fnid index -- returning a file's entire crosslinked history, so the lookup grew as the mlink table did. loadMlinkParents now reads each parent's file set once with a single mid-indexed scan and resolves every F-card from the in-memory map. It reads exactly the same rows, so the mlink output is unchanged.

The crosslink helpers now take the batch's *db.Tx directly (replacing r *repo.Repo + per-helper r.WithTx), matching the single-transaction shape of internal/verify.Rebuild and letting a whole batch commit atomically; tag application routes through tag.ApplyTagWithTx. updateAttachmentComments materializes its cursor before writing so a single connection never runs two statements at once. crosslinkSingle (dephantomize) wraps its one artifact in its own transaction.

Whole suite green (1235 tests, 35 packages, incl. dst and the fossil-binary comparison). This does not by itself land #89's "minutes not hours" target; the dominant remaining cost is a separate, pre-existing mlink over-insertion documented on the issue.

* manifest: diff crosslink mlink against the parent manifest (#89)

insertCheckinMlinks emitted one mlink row per F-card and read pmid/pid from the parent's mlink rows. On the Fossil SCM repository that is ~180x canonical's row count (a full sweep would write ~19M rows against fossil's own 104,880), and because delta-chain order (#102/#126) routinely crosslinks a child before its parent, the parent's mlink rows were usually absent, so ~97% of rows defaulted to pid=0 -- wrong parent-column data independent of the volume.

Rewrite it to diff each check-in's file list against its primary parent's expanded manifest -- the same diff canonical Fossil computes in add_mlink (src/manifest.c) and the rebuild path already does in internal/verify.rebuildMlinks -- and emit a row only for a file that was added, modified, deleted, or renamed. pmid/pid now come from the parent MANIFEST, which is always present once a check-in is eligible to link, so pid is correct regardless of crosslink order. The parent expansion runs through the sweep's shared content cache, so each parent's delta chain is walked at most once across all its children.

Measured on the Fossil SCM corpus: 127,775 mlink rows (canonical: 104,878) with pid populated on 74% of rows (was ~3%); full-repo crosslink completes in ~15 minutes rather than the prior ~hour. The residual gap is 95 PGP-clearsigned parent manifests deck.Parse cannot yet strip, whose ~98 children fall back to the old all-added behavior -- a pre-existing deck limitation tracked separately. by [email protected] on 2026-07-24 17:23:36.


C manifest:\sfix\scrosslink's\sWAL/availability/mlink\sworking-set\sproblems\s(#158)\n\n*\smanifest:\sbatch\scrosslink,\smemoize\savailability,\spreload\smlink\sparents\s(#89)\n\nThree\sthroughput\sfixes\sfor\sthe\swhole-repository\scrosslink\ssweep,\snone\sof\nwhich\schange\sits\sobservable\soutput.\sProfiling\sthe\ssweep\son\sthe\sFossil\sSCM\ncorpus\s(67,503\sblobs,\s27,084\sevents)\safter\sthe\sdelta-chain-order\swork\n(#126)\sfound\sthe\searlier\sbottlenecks\shad\smoved\son:\n\n\s\s-\sPer-candidate\stransactions\smade\severy\sSQL\sstatement\sopen\sits\sown\sWAL\n\s\s\s\sread-transaction,\swhose\ssetup\scost\sclimbs\sas\sthe\suncheckpointed\sWAL\n\s\s\s\sgrows\s--\sthroughput\scollapsed\sfrom\s~200\sevents/sec\sto\s~7\swithin\sa\sfew\n\s\s\s\sseconds\sof\sa\slarge\ssweep.\sThe\ssweep\snow\scommits\sin\sbatches\sof\n\s\s\s\scrosslinkBatchSize\scandidates\sso\sSQLite\scheckpoints\sand\struncates\sthe\n\s\s\s\sWAL\sbetween\sbatches,\sholding\sread-transaction\scost\sflat.\sBatch-granular\n\s\s\s\sdurability\sis\scorrect\sfor\sderived\sdata:\san\sinterrupted\ssweep\sleaves\n\s\s\s\scommitted\sbatches\sand\sthe\scandidate\squery\sre-selects\sonly\swhat\sis\sstill\n\s\s\s\sunlinked.\sCrosslinkContext\sis\ssplit\sinto\scrosslinkSweep\s/\n\s\s\s\scollectCrosslinkCandidates\s/\slinkCandidatesInOrder\s/\slinkBatch,\swith\sthe\n\s\s\s\sper-artifact\sdispatch\spulled\sinto\slinkArtifact\sand\sthe\sdeferral\srollup\n\s\s\s\sinto\sdeferCheckin\s/\slogDeferredCheckins.\n\n\s\s-\smissingCheckinRefs\swalked\sa\sblob's\swhole\sdelta\schain\n\s\s\s\s(content.IsAvailable)\sonce\sper\sF-card\sof\severy\scheck-in\sto\sdecide\n\s\s\s\sdeferral\s--\s~40%\sof\sthe\ssweep,\sre-walking\sthe\ssame\sfile\schains\sover\sand\n\s\s\s\sover.\scontent.AvailabilityCache\smemoizes\sthe\sverdict\sper\srid\sand\sstops\sa\n\s\s\s\swalk\sat\sthe\sfirst\salready-decided\sancestor,\sbounding\stotal\swalk\swork\sby\n\s\s\s\sthe\snumber\sof\sdistinct\sblobs\srather\sthan\sF-card\sreferences.\n\n\s\s-\sresolveMlinkParent\slooked\sup\seach\sF-card's\sparent\sversion\swith\n\s\s\s\sSELECT\s...\sFROM\smlink\sWHERE\smid=?\sAND\sfnid=?,\swhich\sSQLite\sanswers\svia\n\s\s\s\sthe\sfnid\sindex\s--\sreturning\sa\sfile's\sentire\scrosslinked\shistory,\sso\sthe\n\s\s\s\slookup\sgrew\sas\sthe\smlink\stable\sdid.\sloadMlinkParents\snow\sreads\seach\n\s\s\s\sparent's\sfile\sset\sonce\swith\sa\ssingle\smid-indexed\sscan\sand\sresolves\severy\n\s\s\s\sF-card\sfrom\sthe\sin-memory\smap.\sIt\sreads\sexactly\sthe\ssame\srows,\sso\sthe\n\s\s\s\smlink\soutput\sis\sunchanged.\n\nThe\scrosslink\shelpers\snow\stake\sthe\sbatch's\s*db.Tx\sdirectly\s(replacing\nr\s*repo.Repo\s+\sper-helper\sr.WithTx),\smatching\sthe\ssingle-transaction\sshape\nof\sinternal/verify.Rebuild\sand\sletting\sa\swhole\sbatch\scommit\satomically;\ntag\sapplication\sroutes\sthrough\stag.ApplyTagWithTx.\supdateAttachmentComments\nmaterializes\sits\scursor\sbefore\swriting\sso\sa\ssingle\sconnection\snever\sruns\ntwo\sstatements\sat\sonce.\scrosslinkSingle\s(dephantomize)\swraps\sits\sone\nartifact\sin\sits\sown\stransaction.\n\nWhole\ssuite\sgreen\s(1235\stests,\s35\spackages,\sincl.\sdst\sand\sthe\sfossil-binary\ncomparison).\sThis\sdoes\snot\sby\sitself\sland\s#89's\s"minutes\snot\shours"\starget;\nthe\sdominant\sremaining\scost\sis\sa\sseparate,\spre-existing\smlink\sover-insertion\ndocumented\son\sthe\sissue.\n\n*\smanifest:\sdiff\scrosslink\smlink\sagainst\sthe\sparent\smanifest\s(#89)\n\ninsertCheckinMlinks\semitted\sone\smlink\srow\sper\sF-card\sand\sread\spmid/pid\nfrom\sthe\sparent's\smlink\srows.\sOn\sthe\sFossil\sSCM\srepository\sthat\sis\s~180x\ncanonical's\srow\scount\s(a\sfull\ssweep\swould\swrite\s~19M\srows\sagainst\nfossil's\sown\s104,880),\sand\sbecause\sdelta-chain\sorder\s(#102/#126)\nroutinely\scrosslinks\sa\schild\sbefore\sits\sparent,\sthe\sparent's\smlink\srows\nwere\susually\sabsent,\sso\s~97%\sof\srows\sdefaulted\sto\spid=0\s--\swrong\nparent-column\sdata\sindependent\sof\sthe\svolume.\n\nRewrite\sit\sto\sdiff\seach\scheck-in's\sfile\slist\sagainst\sits\sprimary\nparent's\sexpanded\smanifest\s--\sthe\ssame\sdiff\scanonical\sFossil\scomputes\sin\nadd_mlink\s(src/manifest.c)\sand\sthe\srebuild\spath\salready\sdoes\sin\ninternal/verify.rebuildMlinks\s--\sand\semit\sa\srow\sonly\sfor\sa\sfile\sthat\swas\nadded,\smodified,\sdeleted,\sor\srenamed.\spmid/pid\snow\scome\sfrom\sthe\sparent\nMANIFEST,\swhich\sis\salways\spresent\sonce\sa\scheck-in\sis\seligible\sto\slink,\nso\spid\sis\scorrect\sregardless\sof\scrosslink\sorder.\sThe\sparent\sexpansion\nruns\sthrough\sthe\ssweep's\sshared\scontent\scache,\sso\seach\sparent's\sdelta\nchain\sis\swalked\sat\smost\sonce\sacross\sall\sits\schildren.\n\nMeasured\son\sthe\sFossil\sSCM\scorpus:\s127,775\smlink\srows\s(canonical:\n104,878)\swith\spid\spopulated\son\s74%\sof\srows\s(was\s~3%);\sfull-repo\ncrosslink\scompletes\sin\s~15\sminutes\srather\sthan\sthe\sprior\s~hour.\sThe\nresidual\sgap\sis\s95\sPGP-clearsigned\sparent\smanifests\sdeck.Parse\scannot\nyet\sstrip,\swhose\s~98\schildren\sfall\sback\sto\sthe\sold\sall-added\sbehavior\s--\na\spre-existing\sdeck\slimitation\stracked\sseparately.
D 2026-07-24T17:23:36
F .githooks/pre-commit ce134a33b0e8b1a0017110de2ef0553e052378e048b461102282edd72bea5fb9 x
F .github/RELEASE_TEMPLATE.md 8732d1e0c367cefb3a1e0ac8fbdf191f2816fc3469d4680dfdf14eac2dec9a1d w
F .github/workflows/release.yml 618de742abc473bc2a4dc54327d668931c94ece6204fc92cbbdc97b44955e6aa w
F .github/workflows/test.yml f17b1976d193e910706d88ab962005d849d1776b1156be3e86521ab8aa8c5c3a w
F .gitignore bc81256c11f6f6390eb365029ca72b000c5bd5be345d294bdd0a7a69d698d4e3 w
F CHANGELOG.md e2935b78da9ba74ca4da1eb9866c87850b7b9f78d1bafc6ddc3b2435543b9158 w
F CONTRIBUTING.md 5023d136fb5f0c1fd1136ffb502e1913827661fe519e9c4386344e55c95ec8f4 w
F LICENSE d967ce740201ba31025b108fe9b0a21ceec2f6570153814f3446901d05ff0dbc w
F Makefile f531d9a1976fd760d502faf2e8c19b6dbc014ed49eea3ec35a96b539eda1ac37 w
F README.md 251434a5f2d655fa7e53e46eb5018fb178a2a02fef185bf0bc286f03d36bd486 w
F assets/logo.png 6742c6519f88a82f8861a8151eba4e08f7e4e66a496465014a5bb728811542f3 w
F checkout.go da342c56fbe8e433d1c0f95643b2b610d5beafc3077118ad68b38777d757f6db w
F checkout_test.go 7612b7d7f008158c245b7174672aeb5727f32e9c10a980136a54cbb825a9e8df w
F checkout_update_test.go 655ef89151a41e84cbb7cecf572bdacc2be28bd7b79bc6aa83f3b0d45c8a2219 w
F cli/clone_fidelity_test.go 252b4e13874fcff0d94dde21da0c36c55d12e8c28c5f3b14fff118d985d9a726 w
F cli/repo.go ed815010cc42627a2aae8720fe0d0f02e0262d3e9516a36d2a037f250968578f w
F cli/repo_add.go 62ac014a3a2fc45e27f3a496a804f9c35a54c978db3fe88d14e6828947075a1f w
F cli/repo_annotate.go ec73bc1dc3e63ece75366228b64feeb9b0f846258e1ce2526e98889d5a5b1e68 w
F cli/repo_bisect.go 343e4afe01f9e36a1a321256e4f66399e50510ed46b690de12d0a3e3c381137e w
F cli/repo_branch.go 898d24cf6a4bf2e93cece6c4af14fe2bcb45a9724eda7f50d2e66d2fe2177c21 w
F cli/repo_cat.go a2ded7d86650abe406d39c66a60fba4f8cfdf0df7a7d6ad125e02285e179e88d w
F cli/repo_ci.go bfb412bff7ce73880ca14816dceed4773bb9a445ed437e49d38d86b67df7b504 w
F cli/repo_clone.go dcb3a2581c1864e797b1db2ad0d97beb5078394603b667f82e9b3c7cae273019 w
F cli/repo_clone_internal_test.go 47ae8c9802d5498fb47e7c1bcf0ce259e335dea4488dee3ba28701d8fb665455 w
F cli/repo_clone_test.go 8ba199787c40f27cc1f774836f69e1d9b2ad05522c2af25f3d8c52b3ab006a26 w
F cli/repo_co.go c927b36031023bd0f1c1845b9b6ff5106001c344cd60db5165f6f227c7dc28c4 w
F cli/repo_config.go d23ea737bfe951b12c73666e51876b2a378ce33c90a27198610e0d0aba50eb74 w
F cli/repo_conflicts.go 461dba404f117f2565f63f66942f6859051609ec737b005a9e50f46b17b6ece9 w
F cli/repo_delta.go 549b52268db0b9c39f76a6b63697e04df652f5616d8769e2e1fdea5fccabeb94 w
F cli/repo_diff.go 7179c1d7b6ff4b278fe7c1ee2682fe9b59e6a6b1be6c43893035f7bc39a9e0f0 w
F cli/repo_extract.go 26bc5b9fe540a8c93b780956bf9593128a56c563b82ab931f8014ca786912110 w
F cli/repo_hash.go ea9185e7adc63265e669e2ee498f9aed80a34f54b456f28f506b5a419d76ec8b w
F cli/repo_info.go 486f59013b564f79c7977acf5728af170c04fb0f52dfb5fdc461d5db3faff09c w
F cli/repo_invite.go b7a1286a2a9178f0972e282a8cd2403abcc9ade48883d2849917fe7104c263ba w
F cli/repo_ls.go 6f57d45721dadd48b5ce35deb2192a87c5b4c2584091e258921eedfc26c87ed4 w
F cli/repo_merge.go 979d4a47a893f5abe4c4a1a5b79ced68b8b5eeb1091685e22bdc26c2c51f361c w
F cli/repo_merge_resolve.go 5a15271fd422bf4d3ab33b1e5a33e0cd670a4aa91291a282c6e9de9c966ae854 w
F cli/repo_new.go 3696eb11eeedaf6426383c92f35962bbcf442ece0a9588f50155b35399afb5df w
F cli/repo_open.go 7f971778b08b82c3914a65e7c6f4cd4c792028941a78dcc835bbb0bfe42c4004 w
F cli/repo_query.go 16d553d1040d17b5a0d82f936ae59ca95c8859231311a9297b4386b0586930f3 w
F cli/repo_rename.go f275ff6c93ce380ed6c1e3cad2b9eb5a48ec8695c06b8ef1373788593961a046 w
F cli/repo_resolve.go 3259d2e30f889b9c45e007fd8619d9f30e9bb54e845ae0a0b9e146776bd5d3fa w
F cli/repo_revert.go 5e1530b5b9d960c17b0894f5f00217b75b451571e0e528a730f101e4e1f715ff w
F cli/repo_rm.go a8b12a6d533c2f670d2ec73d51a9ca505ec1314d4d7609b3d5edff1721f25fa6 w
F cli/repo_schema.go 45fdb1241a4be171e68e00331c7cbd4b3a7159168ea603c544a3320e4239c1d2 w
F cli/repo_serve.go e13e6ac8f14c30fb10e7d636ca4d79efcb8571eb0c334767b7e4ba273c936580 w
F cli/repo_serve_test.go 522f089e8aeb593ea3684d131a3d5783876ada5854d66f3725fa9b3040167809 w
F cli/repo_stash.go d6d9bc90338180edd7c4df89898f464cbf8a574322ac8645dc19cf8b717607a9 w
F cli/repo_status.go 94b74f2de04482cf14e03d42ce1ebc4d9050bde05cc05a2b14841fd1f0c28830 w
F cli/repo_tag.go f551674ba5cd8e6a9bd48d71e7592e528ca72689cff22be9145f80ad0f549646 w
F cli/repo_timeline.go d52015697a3d2b7ab4cc468314eac7d19961584030f67e0dd31ba82dd069a7c3 w
F cli/repo_undo.go 3be586f6b329663982e714d9e24d898c2b3f70a33020013b89ef4078ff2683e5 w
F cli/repo_user.go b632ff3436a1b39ef9ca1778cf07a95255fbffe6a18f9aa3ad981ece78b73d11 w
F cli/repo_uv.go 583d0d28111093f00d0c1c189c7114bcdba2e30ec7b19a3c17a2b63406367d99 w
F cli/repo_verify.go ee5e7ed1f92447c9029f632d04403a037850320061b25d6f527ea4a0ef533bea w
F cli/repo_wiki.go 750d867a59259cf526a6280d30fa346b2b9d1a106af53c55b1a2cebddb0639d0 w
F cli/shared.go 9e1ca1a153a6cebebea64d18f1c7eebefcd3dd635066acf20d3d0a326ae4d5ce w
F cli/shared_test.go 5fcc794606a3767065ac17b8d23dc39c16a9e871fd9fef0f02cd58355a83ecf6 w
F cli/version.go 2bfe24d03e0c9beaded88f7410852578b5c9da094d80e3742a6a91e9d2c94404 w
F cli/version_test.go 666328d73abb80cf3afbf0586007e33b31dde5f0f90230ad9306346978d91fee w
F cmd/libfossil/main.go 71f3a0cf520ffdad6cf8f90004fdf264e3fd84abbdda86499f32d11bcf66e34c w
F cmd/libfossil/main_test.go 8a60201179065d722145e5bbb7d8aee987b4428c90c0a5cf0a7ac7b4ba8c7b0d w
F db/checkpoint_test.go 0011bcf31a01e9be0a84c901897ca7078a521a35a1c56b5167d3c056eef43e42 w
F db/config.go f4bccb5a5b4c997df30f5d88c9fc3cec2903955a71b3cc78f209b20889a67ea9 w
F db/config_default.go b75fe2adb424dff71e063a3a54dec54ed3bba22e75f11e9f4e7500664ee75598 w
F db/config_wasm.go 41fc170a2d1f0283355d83640217db708ca8f7e4d8ba18a8b91db95ed79ff9b8 w
F db/db.go 4da4c681238f46e62df1e31cde89791c78b5b13cf1a126c1af9a0f6a27606420 w
F db/db_test.go 70f52ebae9a1c96c4fe40c172a5aef0516cc7d6d006f1d53b0aedc38912e03c0 w
F db/doc.go d527fa7d157ad0c1b9e5dacbc1606b7dcfe409a1eb52ef96a607cd208fc8501a w
F db/driver/modernc/go.mod 75aab5f1b3930b3808fd4f1695ac7a6fea3dcf572005a18875a7201476771ef0 w
F db/driver/modernc/go.sum a36002d6878503f3024971b2c2e5f2c2f54d2268a0dc5e04504f0abd25b5e425 w
F db/driver/modernc/modernc.go c43eb03f889d1f806f5a38709ca8e35a6fcf2ddb397f940415e9af3b19733c55 w
F db/driver/modernc/modernc_test.go f43d48257a03fb5f5ab533bb3de5305ed214f248ab17c1181afe7bde782ed8e0 w
F db/driver/ncruces/go.mod ac80155538ab4c8ff4e1791404b22a94e67369f61ec2eb2fb5dc1a402bef5691 w
F db/driver/ncruces/go.sum 4971ca697b8b0705153a4952987bd47fa1ee118ad5aa30ae8bff9be88debf90b w
F db/driver/ncruces/ncruces.go 35575310473cb157f60b79443b1497f62a5c7370663ab3b213c3211c942a0b8a w
F db/driver/ncruces/ncruces_js.go 83e2717be119dd464f81ca76d40b4d9c57881a82c43dc0a3096e1f9166209512 w
F db/driver/ncruces/ncruces_test.go a6ea720d4eaf536182911b7ac4d01385327819bb5215a87f56247727498bb300 w
F db/querier.go 51ef51c04404ba191c9778aa9fb28d779cf9d9a0c54f23626825e92d72ca827c w
F db/register.go 2ee97983aa3fa7a3d592c277efcd4a8af515bad2d1bf88aedb0e4eb91e2b54fd w
F db/scan.go aa5a542a7b0efc6b201c7ccd17681fb05aec842ce35b4f16eaef64ead7f9959f w
F db/scan_test.go 39a8aea70f64e5ce0de12079a3bf4701938c03a4fb0b7b18cbcd1342ffe8dec1 w
F db/schema.go b4d59f4f53209d723ae4575d161880a3cc396fe2fc13762630a738ba4bdd94f6 w
F db/schema_test.go 59847a1479d1e67e3023e2af9da0d0a7de7bc7bf678149ca41b36b40eb3b3083 w
F docs/site/content/_index.md dffc2080d8c8cee259d3f72d11262521e9378f07b3852db21ad008ada60ebd04 w
F docs/site/content/docs/_index.md 2956787a9e30e5b9191bfad9c03926aa165ad1adbb3c734060c6c8b5c8f69455 w
F docs/site/content/docs/architecture.md 3a46828b340acd6e22924085da8736bb60d7144de843d6ba0852d5e1f5be09f7 w
F docs/site/content/docs/extension-points.md 60d2e656df73ef255efc2b05f8359949174099d8fe136a63b1e32f05bd665564 w
F docs/site/content/docs/migration-from-fossil.md a01eca1e085205fe835dfd6e729aa9c2b381cb37a1d0495b5905e1784ac17211 w
F docs/site/content/docs/production.md 907e3a26444fb2eec40785160145600cbd04f7f6efe133beed6954b738fea120 w
F docs/site/content/docs/quickstart.md 696695c2498eb47411ca965f93545f003dba01fd572e0f2bee2a5e3811693ffd w
F docs/site/content/docs/reference/_index.md 5502a4e209de4ac27b2768a7cb794d5d98c1b4ca643fa327ddb7e6f41c5db3e6 w
F docs/site/content/docs/reference/sdk/_index.md 8f20bd1bccacaa0a492a793a8bce2b90cc0ab63cd09585e3db5bf7669171d235 w
F docs/site/content/docs/reference/sdk/cli/api.md 4e9e732de00e03f418d37b79991dd4fc6518a01564a008879f9cdfe9388c4199 w
F docs/site/content/docs/reference/sdk/db/api.md 3074524487286e6214bb5504108598f48e7701a764c53ce45f385de63db0cf28 w
F docs/site/content/docs/reference/sdk/db/driver/modernc/_index.md 44c7e5d5809c20947243535fd8c54ed0bd69379e237aed1ae7b6edbbf602925e w
F docs/site/content/docs/reference/sdk/db/driver/ncruces/_index.md 73d644bd6156a93c75eb3e14f52e6c1ba610d3eaba153212f9bdf0485302ceb6 w
F docs/site/content/docs/reference/sdk/dst/api.md cb67fe8ec7c25000b5f65d84fe0dc4236714244aeaaae8d213470d3e8b71a2c7 w
F docs/site/content/docs/reference/sdk/libfossil/api.md 703c05cdf8d14c03170d640eadd89119d2d3e7275a10f59d057bee95693565b2 w
F docs/site/content/docs/reference/sdk/observer/otel/api.md 3dcb4d3de1b1e5dcc9951935859a63136ac6a57f9fbf4bfeaa97c647c5422f88 w
F docs/site/content/docs/testing.md 10c1b397df20e524af118fa08b09779e0d259587f53a50d013bc3baefc30724d w
F docs/site/content/examples/_index.md c73a88357d1689dca063ab7c190f75cdaf6e256b12598e1f14bc264a9e045d66 w
F docs/site/go.mod e3afe62e7a956d29355029e318bdf0b423c61a5f5257b4116dfd5e1ab034c8a8 w
F docs/site/go.sum 4572deee1c4c7304d39b73c3317685665590bbbb66a064d9dce58a52606fc15f w
F docs/site/hugo.yaml 47a8f04ce9371f63f4ecfbece11cf5dbd5e003a7d466bab1dedbe429f91f4fc3 w
F docs/site/layouts/_partials/navbar-title.html 26ad6fb61226a941ec6fc41723a0e4e797f2b1fdb8469299923f5f31204c35ac w
F docs/site/layouts/index.html 1f021eb9504b2e2111ca622798dcee4fcf08dea89151aa09a43ef12a69fd21d0 w
F docs/superpowers/plans/2026-04-26-docs-site-cf-deploy.md 477e53c2a2f4d835e06b35c0d62dbe16ea48c2738e7cf0bf372c1e932154b596 w
F docs/superpowers/plans/2026-04-30-cross-repo-release-automation.md 0afffeafd62a5ae3452ae83c3da2c3ea0d21959699a811d54f2f9ffbe757b168 w
F docs/superpowers/specs/2026-04-25-docs-site-cf-deploy-design.md bbc1abeb5a6250198e1645dc44539d8b5bf86720b73ef3601727a807c4fa9388 w
F docs/superpowers/specs/2026-04-30-cross-repo-release-automation-design.md 8a9349ab53f6eeb1aea4af9f5279b2a4c8bd1d9770dad8c2ef0306a137f223e3 w
F dst/clone_test.go 2e422b690c323fa1008ecbcd148442bee2c42e3541b4c007d25a2c8d373581de w
F dst/crosslink_completeness_test.go 3ae310d53193c0b3f130bf9b2a3f7eae48573cc531df66dd1d2ead7a08f54fe1 w
F dst/e2e_test.go 9ca2a2f7aa422b26fa7a84086f2273b5fee383ecaa20de20c9caa1edadc0a2f6 w
F dst/event.go bf634507299f3e9ca68f7843245d255d81d41678ec8d4dcefe4c16e71b786675 w
F dst/invariants.go b88ec4536960272a00e31cf625df01a1a1545dd954dde6720804b7c991f9ffc8 w
F dst/invariants_test.go 67ba8a7853e3ee21900b9e58f7bbae4ef712e9a49fe975552676f657447ff11f w
F dst/mock_fossil.go 62c94fdf9735f276741b5743125dac4f88759d268ebacfe2567929211e40f405 w
F dst/mock_fossil_test.go d8f2a94a0d873fcd96367918d60655fb05298bedfaa5fbbdb1b3c41fba008edc w
F dst/network.go 863ab5c79ed04b70bc301825aaac22646dd20ba3130f33d76c1492c5ae522394 w
F dst/node.go 642616c8e57e03b8d307bf7c4621fe7eabc296013a4bacbd742be16849405ada w
F dst/peer_network.go b70351aa50a2525f5a9b4a3a2f94c9ca91d2f7af64f7b85913a5dffb8b3e8065 w
F dst/scenario_test.go 7ea1ff6d3cfe99181acf087ede4339a75033a9531082ed2ebc244ff14a579e67 w
F dst/shun_private_test.go 9ae3490a0faeb53fd569e2c749fe47e693b38d6c75c899e3059e3739484117a6 w
F dst/simulator.go e904ee00992be83752213dbccab99c335b3f8c4201fbe75a646371ae0a2a3e42 w
F dst/simulator_test.go ac133766b5a1662f2cfb5381070cb40501e62e8824ac215c353c0ea0cd21aeea w
F dst/tablesync_test.go 5aa5130e275a7fb81c3759e6182c82b3aafbe77f8b2046c7a03f204e489ee246 w
F dst/tag_branch_test.go 77ba941d24ef0b57c5dfc1b20248f6c0d818042bdae833bbca9d8d293d3105d6 w
F errors.go 08302b6fef3b1aa0ff242e891ffb94439fa8184fbe43b58f42dd664a3ca7bc2d w
F errors_test.go 4e1346a43f0be34d6e2de643319306453bddc58ef8943a7e113a61874b22904f w
F examples/embed-repo-api/README.md 1d7998b76d71136707d212b25d8832580eb6cfef5ddf1af277eb370f2d781c2c w
F examples/embed-repo-api/main.go 9ee87969d160279c89b77c9db4bd75bba06f33971e20564f6b5633b161a0fe81 w
F examples/wasm/README.md 38ebe736d93cda8b37c5bcd426175a98296409ca0a5e34cd5115221512b29708 w
F examples/wasm/main.go 7fb0cd125f0bc55711982fc0e05690f806272809ffa92405dff92be3365fa8e4 w
F fossil.go 3dae412fc688c5154b2ab13e4bc48a973ab713841361383f289185ec77850ce0 w
F fossil_test.go 80431cabf6ffdf5f20b97c7768e2763facb0c70c04039aed1a97fd8f9b8157a6 w
F go.mod 9853baada53e57be5177298f94208506b152d49b4997e7f2dce960427e19d7fe w
F go.sum 4a3a92b9ce620fe92900ecc4e2a3d72c5ced5a54ae494640fa6b794807af527a w
F go.work 8b3d9a07dbf8042509ed2f1db6cff10fb97a0cb73e3fb0db054cac033c095236 w
F go.work.sum 0884400df2af51c2166a06aa83d858f1935d299d00bea0502b77387930fc621d w
F integration_cli_test.go 72bb196cb36f776b074bbed03abebd00a13a1f062f96d0e51f0490c7043cdb60 w
F integration_test.go 24d67433269868d87aa2c6835bc80408f56c1dc5516db7cc71d57dc7270985fd w
F internal/annotate/annotate.go 8fd3f7ea9b61cfd56d6094da1dff5b75ba074aaed55b690f187767495298f9a3 w
F internal/annotate/annotate_bench_test.go 49c3879a4781a01b530ffbd84c31ab43d7be37df16f3b6df146b33b2a9d21142 w
F internal/annotate/annotate_test.go 72e1d7f9754ab51f7bd83aa44504f5b2cbc6d1fed26aa63f512878aeab946d9d w
F internal/auth/auth.go 043888f5dc60e9420a3bf94116c86e756bd6897d46bfa53cd46c0b36d7af49f3 w
F internal/auth/auth_test.go f137d59e7b01b89ebd79f5ca2e11249307447783e270e7c1b9668c9d2da0b3d3 w
F internal/auth/invite.go 365921b3da8a7f7fd2b50d58dfe21168a98e57376ea36681aa2fff51b3c17e59 w
F internal/auth/invite_test.go b664afdff63359eaac4b5b33be833fd774247fafb5fb5931434d9e69bd35fc55 w
F internal/auth/user.go ca16c0089a25a522b1a52d36f22f2d69f9abf680562de9aad500574419603787 w
F internal/auth/user_test.go 25156854d3553351cd9f0cce9dc01bcf6d31bba0be674fa0589c11488366fec2 w
F internal/auth/verify.go fdf701a793da7be05e49dc4bcabf2e541f68300ec00dfb9beae5aaa8fd9b72fb w
F internal/auth/verify_test.go 5407551f497a53dcf08bcf1db207f9e0a91fb0d09f1436c0e356f8fdace7ca66 w
F internal/bisect/bisect.go b9413f2fdbb45ac22b22dd87568cff42dbb91fa6fb57f7b33f70c32dc3a69014 w
F internal/bisect/bisect_test.go 90ad191ac8fb2108d847bb5f8026a4810fdaa1b01ef4a880f4dcd2bbb7d27f41 w
F internal/blob/assert_test.go 88e527088574d435671eb4ecef3d0c3afe802e20bc2a535a801ef3a52e8caf34 w
F internal/blob/blob.go f40391e6284b0db12f6bee410ab18f77d54318d9ddc31d214ebd20a3bdb82fce w
F internal/blob/blob_test.go ec3386583cc90447419ee96fd2eb9e37d6b327ad83c35bd924345ae70b4b256f w
F internal/blob/compress.go 9fa23fd466a1128a89a420829e25068b9f08bddfc40de1173f4450801ce2a0d2 w
F internal/blob/compress_test.go 6f94eccb24e0affed867e88dc60d188618f21bf4ff60f42af5a04d1318d17438 w
F internal/blob/doc.go c550d1fc492bbf3f92046990d228400d5e217dd836d979ac504b4d052fb86fc1 w
F internal/blob/inflater.go 94d2e17683bd04c5f10a3672a1577f278ebd78ad496a7a06642e2c2254f96c07 w
F internal/blob/inflater_test.go 4a1e5c1db2d5fbb257743210c9f746e72d4ff59eda47609c057bb5cfcf4df918 w
F internal/branch/branch.go 76e280ad473731856a2014306aaa722bffd9890650e6799600c229532f6c1d9e w
F internal/branch/branch_test.go 62e035b868213b286cf28f7368b7d33567517782939a8571d6d1e6a987347526 w
F internal/checkout/checkin.go d57eae5d6a9c168799bd5c2d833d0c914772ee5a4334c5826dd8b4badec2e027 w
F internal/checkout/checkin_test.go 5b22edb695159bb68fc1b78cdb54d9d882e6d2a4ba0a0491c9a71f40ee25bf2e w
F internal/checkout/checkout.go cbb099be005584e5724b22ef699c01164b4db01f2db95402e98fa3bb2e7a7b2e w
F internal/checkout/checkout_test.go 3d3e0e33656440376001d2640f75d76772056c661fb916cab005cbdefe4e24fc w
F internal/checkout/executable_test.go 5bc816be713e5eaeadd5ea313ee99cb4c6ee08b874504bd2005ac1a50c41320e w
F internal/checkout/extract.go 841a88160480d1b58166ead6d2044b11aa2cd8046c581e87e0d5ed97325e1361 w
F internal/checkout/extract_test.go 504df074f699a6d432ef91154d34ec17aec0f53712e0a8c32cae96719032eb2a w
F internal/checkout/fork.go 091798e7bc9e05dbd2cbffe54e85d44f462013b5e3f7b599ea50a927e25d09e3 w
F internal/checkout/fork_test.go 4085dce584ef45e5c476e574c4bbbebaf003af42e624cdb85d404eb9698fff67 w
F internal/checkout/helpers_test.go 4d4bb82c165dbaafa178efb12bf66dbc9e5c2ad32dcf8106779808db7348f4f9 w
F internal/checkout/manage.go c218e2d48c13e0d20e5702bccbda9f33dbb746b9629bde0045a191f2c8adee20 w
F internal/checkout/manage_test.go b6dd40b63881c7ccdbeb1857a543ab1797fa562d5d1ab0fc6a222fff18b51f54 w
F internal/checkout/observer.go a0e88497f69748129bff1c34fe40fefce2a0422c414c252bf4e911c74036fb5c w
F internal/checkout/observer_test.go f980a954cfe82b1e2b769fc7f334f9278296143df76fb036af77d2183ce7bcaa w
F internal/checkout/rename.go f1256c1fd85b69d32ce5cbb4ce8df7793e08cb735cfd2f8fd05d9a7c0d02f8bf w
F internal/checkout/rename_commit_test.go 76a86062aa7ef80e48d65e5bb41b1ccb1698b733744e51519a6ff0178400ff41 w
F internal/checkout/rename_test.go b1b3b1dda229f26f18cc53ab668f29ce965f616799edf1cff7f66a145cbadc11 w
F internal/checkout/revert.go 57dad457097460ad15fd38fe0659db1661b721446efc6ba899c41f6804b34ee8 w
F internal/checkout/revert_test.go cd3a5669173b27ba77fa9bdb2e8c3a6022725269d16e601383786446705fafa9 w
F internal/checkout/schema.go c8056525affb72ab0df263120a969169206472c40967401d454ecc28c58cc60d w
F internal/checkout/schema_test.go ca03d9e5614ca68a5034fa3e4a039ab897608ec7acee4e3336c9f99c6e094e2f w
F internal/checkout/status.go 1dd3fe6e096fd4910cb84985fe530bcae2e9d925ddc2c4b540703e5668e4000f w
F internal/checkout/status_test.go 867cfed99f8d989e5a3c94a7df52afb47656d0a8c6e57034ceeaa804928a6d51 w
F internal/checkout/types.go f22d342d057924d4c143c45d8016d4a8c9036fa9210a6f96e11131d6070f4ea7 w
F internal/checkout/update.go b279c23deabdb1c2604d0c7b16dad1d455a1a0c60490c7108bfa1f77925ffd56 w
F internal/checkout/update_test.go 3ed4c737ac66b4515f913d90f91777fa7b283e02584c116ac0f426b33805879e w
F internal/checkout/util.go e7cd6c3719c8099ab30099158a73abe70f677971452996ad0a7122696da7d503 w
F internal/checkout/util_test.go 25d5a6c360799aa65b6c75404951e5d0c881298b8dc376e607bd5ce528f49d92 w
F internal/checkout/vfile.go 6bae6dc53fa3fd5d2ac818936af0a92c98979f45193c9515a5ce5c131a27fa93 w
F internal/checkout/vfile_test.go bec454828d65b83ed5f3984086e4eb90d9ac24389f9130294bc6a8a62de65977 w
F internal/content/assert_test.go 03f9dedb5eb91524f9001de16c4b78ef03ced75683dbbd42a0a1eb29631e7038 w
F internal/content/availability_cache_test.go 3b85be57eb2785a64549b34904e13b0d2c4c70fa484fccc7e3a63d809d595045 w
F internal/content/available.go bfebf82774db68eebed49b5888369a2e5a3863882da07b055367f8a23a92d68b w
F internal/content/available_test.go aa67248393eaa23f5032298863d42b37e3d74124ebd84e8ec466574456f5f6d9 w
F internal/content/cache.go e176e7fd29bd35a2830eb8c59d9dfb9370afcff5a9357c073e179c777381e30b w
F internal/content/cache_chain_test.go 9e8b56e598caae3d099808d05e76a7d3ce52164e0acc1f14267e2f484726730d w
F internal/content/cache_test.go fb79c8ae969abcee513d3d96e7a6a9ee1dba60364aa7bdb85d644166357d822c w
F internal/content/chain_bound_test.go c92eec2c736f43d31c581fd62bfd7ded92b09e2672bdfd5c4de2f97105d594ec w
F internal/content/chain_depth_bench_test.go 87773f17494daba7dce14e3d0a5de5d57339f3ee2742ceb17bd660beb904070f w
F internal/content/cluster.go 1e4971c01be04c5c057073517ca05d43a5152d48d05efaba127ddcc75518db64 w
F internal/content/cluster_test.go 457f5f50e2eb279758face4f9f2940aaf7cde3eeb12a0e51391c0bc80a717580 w
F internal/content/content.go d0b5abe2cea66cb4f183094c611841fa32852839fc04315d66b23fd8d703cf9e w
F internal/content/content_test.go 9a6bca330561874fa27126afd2a3f8a104ec69836be90238840379bf8052e03f w
F internal/content/corpus_expand_test.go 8ff040971ebe330ab3b2b023b26cc8fe51a380c08b3dbc26580923971f98ceee w
F internal/content/deltify.go dc41b8cd6b3a1142cc36239320b070b83a962cb256e7d9f49632fc57cc89f9e8 w
F internal/content/deltify_test.go 0ebd2da095bf4786bdef6bf70d61adb2dd59b8c36fb82627891cf64cb6e113e9 w
F internal/content/doc.go d4e65971ef0661ebbd6fac54854309f1c3bddde01642e6a9ec2fe214c8e1a1d7 w
F internal/content/expand_reuse_test.go 98f7477f9410d4775564a0829160bcfb3ff27111a7f9ea28f28a1828f6c8156f w
F internal/content/private.go 5425b0f9eaf3e1c783b0b82819adec6c6e297476cc1b50f2950daac903e50ac2 w
F internal/content/private_test.go 0c8634066a315606f79d3286e2c11f061aa93038e23d6fc9a021609efca1b493 w
F internal/deck/assert_test.go 01cf720efe83a18194b0afaeffffa66067db35fe720ba4211888c3022852256a w
F internal/deck/cardcodec_test.go 8fe794f2049043c181cff0e6cde2a00eff9abc97f3490a4d06d3904a8fe0ffb2 w
F internal/deck/deck.go 7a7af9578851cdf2021dd98da60c22a897cd5c12f491395bb6d8abf3e7ed4b09 w
F internal/deck/deck_test.go 129f65040451e101ae4502f713107f005dd40dbb07fd7c6b5cda7325bc921a87 w
F internal/deck/encode.go 09b9cadc58b2cd75d0d327b78daf21b54b3aaf76e5dc90f801ed3fb99c807205 w
F internal/deck/encode_test.go 9863f5c0f7602e138019e34b778f11486db3dda8a9f2e2421fb1145f19c7c0ae w
F internal/deck/marshal.go 96945905835a65a8a1f287236b12e020256ccf84d1b8020c56892a2f99e74b45 w
F internal/deck/occurrence.go 51ab44338cd1c6b35248d988bf6c110dab6edd7df8da4e9f97908859fb66f32f w
F internal/deck/occurrence_test.go cd1f274ded5d8d1d7803462f386504e3e962599cef0fd4fcc19f19a4e234e0f9 w
F internal/deck/parse.go 38a38f67de1c666f12e491a3e9c2dd2b408770c56e0a3af156388f89e0fd5a37 w
F internal/deck/rcard.go 6c76222c26d9c89016ddf401b41205fd80e420b9a640a2ad3eb8fcb7cb13353a w
F internal/deck/zcard.go f1065892e28cb370210f7ed5899a644d6d7b1c13e2e4330f7ac4c91abaaedd24 w
F internal/delta/assert_test.go cf31f1117d52d13fd280f117b0f7a74245a3a07f602fa2763c376f2643b5a501 w
F internal/delta/delta.go 60c0f2474ece2d99cde9694728e7f7c8664849498834514748d43b29a380ff39 w
F internal/delta/delta_test.go d927c649b904b05da75f8808bb6df2f57830e0b73702a8bdbd62635a1b93570b w
F internal/delta/example_test.go 7c38cfafec7fd5066c310c0a1facd3dfb5bc10309f2d35ef886144f8dca7e1f0 w
F internal/delta/fossil_compat_test.go cc2330b5ea2638972e0f87f137a767e29f258e7c344f8e909ee108e6ab4f75f4 w
F internal/diff/diff.go baa33325fd804d701128aa15220175e48d5dbf841d7de542fb4d5481b6de37f8 w
F internal/diff/diff_fuzz_test.go 9e573bd1faf7d9e85d530285889bb23ae365fe274d420790d387679c8bbd2488 w
F internal/diff/diff_test.go f26103eca4e3de71760a39653173b36f4ccc9db882581392a0e8d689dab5c692 w
F internal/fsltype/fsltype.go 6dd741dd4d81106042e6f8055992a262c374c8b369374c69c4b9b01424380057 w
F internal/hash/assert_test.go f1fc842bc553b641a0fb5ca2e6df94d4a156b8d1f6b5b28f0e2c78808e3ac08f w
F internal/hash/example_test.go 7e16ebc342ed28941bf4cc4b669fd0b99b905f837ad88f30b1d4357105635e5c w
F internal/hash/hash.go adde80f5613398e8368a081c4b782c2314b48eed0e8cd16562354e6983fdee20 w
F internal/hash/hash_test.go 295936d2cc7af550e82278da8d001a8e15dbb7157a8900f6a46dea54f4c953ae w
F internal/manifest/bounds_test.go 253e0e0672a14c46e459c3db0a4131740d2edc3b16e485fc20320f560f0cb991 w
F internal/manifest/crosslink.go c32002c3125e11e0d49b2856b5b964976b37be1f3f6c59f79afe9e5946eaef0c w
F internal/manifest/crosslink_cancel_test.go ae0bee9cfd1cf207d17f4c21d1dba985f1b1b924d2536646e0085b33f2a20362 w
F internal/manifest/crosslink_corpus_test.go a60ee8e0cc79bc7fc34075fb49b20b6a1b1bef4964411c58674633a6a5ad4d14 w
F internal/manifest/crosslink_defer_test.go 1c4f78def67b709bb8fd06522c5ed3cd1acce79a53659b32580deeb2a7ee57fb w
F internal/manifest/crosslink_fossilbin_test.go c6231460cc116c9f2d41070cd4c5f1d3de314839183768084811b32392ea9199 w
F internal/manifest/crosslink_test.go 92b4727583712e3a876f5757b10862fb771285d13202de32aff95f66ca9bfeed w
F internal/manifest/deltify_test.go 679bdd3bd2d8b2fed13d7aa8ebb170af422b496b064c85c8c174b5f64f8b8cca w
F internal/manifest/dephantomize.go b366079082429f1f1c19dc5bda962fcc69a75e85de7be057921a2047971cf219 w
F internal/manifest/dephantomize_test.go ad80bffa416f9e2f944ebfda3f8b12387f50dd6eb0a65e595594b9b50096d508 w
F internal/manifest/files.go 017d6e41c7f97f262614641f56e14ced1b81e953758dbc272fe8fb24496abb80 w
F internal/manifest/finfo.go 863ee5a35faef140857fadf098a89332d3d3cbda75e27a06db1ab6bae0df5bf8 w
F internal/manifest/finfo_test.go f2d85efdf1390261c55c672b8fe8cad19046c749f909d0e8941d8fe1f48651a4 w
F internal/manifest/fossilbin_test.go af8aee82948e25b2194fb8918f3a87138f9dc1e4fcd9d33cf9731b22198772aa w
F internal/manifest/log.go 2c26e7bb41ef3d52a437cd52fe039e51218f51d5b95958e2eed929854f24cc0d w
F internal/manifest/manifest.go 5ad73cf018a38c1f4092ba351dfbcee223b843b47a5ac04a577e9094e806d9bb w
F internal/manifest/manifest_test.go 943583090b87734ea92e74f4ad95041d12f812871d1b311790e79048ea8c1138 w
F internal/manifest/mlink.go 4ccc9286f406ef007b7c51da3e12fac7580dba8845a1df85aaf432e3b6fa78e1 w
F internal/manifest/mlink_test.go 8a1cbc733cd89fdbc11b1529e16120c2a35a7a455a45e38bd2352a6cfd2eb398 w
F internal/manifest/timeline.go be85172dac3063163105b2c12acee8a3799db51144114e28aeb440a8d17a831c w
F internal/manifest/timeline_test.go 18ccd9a78d02622b13ac1257ba4c94fb767e62fb0f26dd67f75ddc755c3ccf31 w
F internal/manifest/ucard_presence_test.go 9f1fd2cdb9fc47096e1f7755382243df5b4c00e3981b3f85262cd8d6a5337453 w
F internal/merge/ancestor.go 4c91e4e2a89d0949bc9a7eef7438ef9a2bb752d41e2c2dfce42b0d745a1e4063 w
F internal/merge/binary.go d11808769e1dce87c77aff56c0d1d700137574f809f69b3667f6519f215ea711 w
F internal/merge/detect.go 15a4f7e2087cc3810a3cdf060d75b09568b904d3c31e537fd92f37a18ad4f6b1 w
F internal/merge/doc.go 42df37cabd38d36af29e4c86be1c96f794988e6cf31a86bb976bbed02face5ee w
F internal/merge/example_test.go a0aea2676331d580808c3990e2b78e7743dd1f7f00c3bb7f9e701bf070c7c3c1 w
F internal/merge/fork.go 678975f97cbb10f73f462f965f160f647adf4fc602fde20221eabadc377534e5 w
F internal/merge/lastwriter.go c9c1e433b40e7c8afd86292c9afd21513c19dd1abb757f4d84e1d08b98d9e7ac w
F internal/merge/merge_test.go cbc9c2537db418331d823ca7f4110dfda8f662d2396b9e04690e3eb511231356 w
F internal/merge/resolve.go c708f13c8d475de1410b392d9fc568ccc1281b0fc2b16132baf3c4b216288048 w
F internal/merge/strategy.go d3a2037b13cb92fbb6737a4c209f964034113fa088973943f7f2a1ea42a808c2 w
F internal/merge/threeway.go 7dd2f3fb4e3b93463feff3865d873160379291717a4025aa860c9a059a276d36 w
F internal/merge/threeway_test.go 8044a7e9384860f12d96f123cc055bf56e1f2b8fa24e731433dbbe35351f0043 w
F internal/path/path.go a74fcd70d207149439804b13d9c9e867e2243fc4d9dea0e752611b2fdfc315bb w
F internal/path/path_test.go a4c0d3622b483bd79b024a8f012958a1002aa8191ae7a598c8999af98241e4cc w
F internal/repo/doc.go 108b1f68f19fb95e3b565a9273625ebe1529ddbe7f7bd92027a1d6a198658442 w
F internal/repo/repo.go 21b1583d50496d65d9a4b6a2442058597c134f709d601677e8a9f9d7b7cc6e70 w
F internal/repo/repo_test.go a29f8f4b1b6528d2e2cec344ce156c9e37732397221973d424d53926082078e8 w
F internal/repo/stat_default.go d5673dca783434733e10babad19baf415590504faccb6a33e6ed5df8a6fc1370 w
F internal/repo/stat_js.go 3a66d1857df63fe067436472ced1e7da21456f120c8e0a17ac3ec02d29d9284c w
F internal/repo/tablesync.go 303834df92cf9fadb292bcb24b358602cf8a2502d85291f37fe4f61f20dbbf0e w
F internal/repo/tablesync_test.go cb09f2534f6943c54949a71b2d2b34ea944d037ba781259c3a72afaf295625aa w
F internal/search/index.go 6fd14f172bba509869365cbd69947e374b0f7e023f28ec3adbce88f12ec4b0d3 w
F internal/search/query.go 8568cd4049db9b2d7213c593cefd8350e8204d2ddb34241c5d9c23ce15bfcdbc w
F internal/search/search.go 8e77ebb19f8392440dc7a982f7449293ebf091fe1090896b075339888a90f26b w
F internal/search/search_test.go bb7358a36beb67c5f91c4d6c605390261ddde8bf4da6c9daf8ee8d183ac986ed w
F internal/search/trunk.go 5990d200824e8e3c303bb86481a35193a4aac37b3735d513745582247eecdd30 w
F internal/shun/purge.go 705b9bcc12c25fa6a0cea3e19692b08c082719a408142465a87fe024acc5879a w
F internal/shun/shun.go 861d7e5235b7cbea78b19899fec0ce063331912584b1f71178f630a1c3ef5954 w
F internal/shun/shun_test.go a4c9c69fbc1a3c4114d935b4324444eac51a100126613d438d1bc97e691ade9a w
F internal/stash/stash.go 171839ea881a1146a80ae4f52b5270a0626d5ad252c8efbf5207373584620116 w
F internal/stash/stash_test.go 239ec6bab9553cbfe93a7cf4709ed324df3f23291157d8898110c407200b7a01 w
F internal/sync/auth.go 330afa0675d97952275b3640e5618bb06c5885867b52d101f9970162fd114115 w
F internal/sync/ckin_lock.go b596f851152d3c2aa5e76bfca9bcf58f8144476c1c1543fdcd3aeb53f40a5e97 w
F internal/sync/ckin_lock_test.go ed50668b11644fc18a8869276841be62a003a9ed895068159a79ee9e47258b36 w
F internal/sync/client.go e83ed016538ea2c69bd9686f5ecb9b43dedf81a36aabffeea28ee13bcbfbd64a w
F internal/sync/client_tablesync.go 29b419b6cde89cdd282f234c5c1bdccca3a5e4fa6a5221ec48b89bcbcfbf2f3b w
F internal/sync/client_tablesync_test.go a689ee01678b40c4ee330e82a6fa652955cd7f0cce71b1fe2aeb7d150ee3a57d w
F internal/sync/client_uv_test.go 14fde6cee14c1180bf731abf852472a2296f26d62ec7167c796e34338558d158 w
F internal/sync/clone.go 97a965f5f5cfec52e7d600a95960cf96fc9bd5a9bb2a28007387b2fc5c824f7a w
F internal/sync/clone_bound_test.go 1b7231c23ff4fadeae933836fd20b316c1875907d4f44bf88e632abdcfa48a69 w
F internal/sync/clone_cancel_test.go 8d99b76dd436da2a4c139a2ceea1498c03f75b62de52d6144d6c0d7d8a67be1d w
F internal/sync/clone_realfossil_delta_test.go a228d6255f1bbd222da646c3a5db6d850a03b153518ed687295b253e8607d074 w
F internal/sync/clone_realfossil_full_test.go 309877c9489259315a0b2a0582e99cb93765e6023aea4f4999f2c2c501d96f3d w
F internal/sync/clone_selfroundtrip_test.go 910a24fadf74c1b65ab54fc2df21a2c41066b7f63e33b321691dcf12df098523 w
F internal/sync/clone_test.go 65a156cb09454c09c4d36edb7bb1ac02fe9e10fe4b7349e779665c6ff0012abf w
F internal/sync/clone_wire_efficiency_test.go b6be92e5a2297192c72ef7399751bee4fd3053a2b0fc75361ee921e7518f7192 w
F internal/sync/clone_wire_measure_test.go faee1ad2d0a986122d81c79bc7b60c8179007e07762a7efd3d2d119673fdca37 w
F internal/sync/cluster_integration_test.go f858da08e9fd1fa213a3124141406667d958307ab1a0e5c3025663acee944793 w
F internal/sync/doc.go 1bfe570fa95c6818d00e788d5868ccc98919eeb4e839e125a6158b3873d1f095 w
F internal/sync/handler.go a612d7bb788495732db7112a3974ea59fa49b6720dbdd6954414166005aa1b9f w
F internal/sync/handler_crosslink_test.go ecac225dfadd796320295ee9251a64992e8b266541afed47f8d0faa2d44c3979 w
F internal/sync/handler_tablesync.go 395f1e620c83c79a7f15ad3c83948b63e6387a4e9cd1fad3f2bdb7a8e2ebf5db w
F internal/sync/handler_tablesync_test.go 48012737b6b000f19657dcf65e091d455676105ca5a10f434e4ffe69a83f396e w
F internal/sync/handler_test.go 22ab73c0abf821bccc97de7f9e4fa86ff6a61222f80c3b3ee112dbb00c6caa6c w
F internal/sync/handler_uv.go fc66b0fc13832dda9c3fd603d5e36a2a77cc3092af59e8ea2d4c6bbcd2b01fb4 w
F internal/sync/handler_uv_test.go b3d4f75917c05e67e9dc724df4c6eeda81a78e17b045d8dbcf9519569f283993 w
F internal/sync/integration_test.go 7f44715aa101f6c3551704d271e7fee4401fce126f5b28574578d0751e18e9a8 w
F internal/sync/observer.go f14b94f4ce60925b295779fe897b036e085897b4c869011421eaa6c03df8fed8 w
F internal/sync/observer_test.go 47ec6d0cf37fd07fc06e2ff1132db90ccc781f7f59a3eea6f3e5313b823f9da3 w
F internal/sync/private_test.go e45597aff9981b1fcfac6a0d491dbd61baa50a28e6ed19714182f3b97652260a w
F internal/sync/serve_http.go 9ea8b646b7a15f1edb424f9a373d24c4fdc28973a93baec0be497a20f5ba3937 w
F internal/sync/serve_http_test.go fe1d64cbf50165959a9b29496ac316fa4a862a484a7781b01cdfcf560e7eb140 w
F internal/sync/session.go 068839db6e684021269073d9e5f4b88229b68b6668bb2cfa22ca29b73b1ca85e w
F internal/sync/storereceivedfile_test.go 83a6e351c7774d859ca24e8fc4b726c53c3e7e105df0037f7e7115f9e5450a52 w
F internal/sync/stubs.go 543ddbe2f2953452837e754c03cb5314e6416760282f7fc61de83cd80300028c w
F internal/sync/sync_test.go f05ddbda2f98f3858821407830ce21c531484b88edce4319a209a355296af30c w
F internal/sync/transport.go 3695f140c0bbb6e184f49bfc21c6638d230fbdc795b18f17f6ad3eb9617ac14d w
F internal/sync/xdelete.go bf8d6346eb78956162a0b048478b9e4970f706d16adc337f4c54f1bf0a30f785 w
F internal/tag/propagate.go e0f37b08a1058d2b6075f981bfec34e672752f1f70c24f52c6b38e95378aa57f w
F internal/tag/tag.go e3209254cb476375c805e8e0f0658c1250d6452f0d48b9c98fb7d576343e1fa1 w
F internal/tag/tag_test.go e012c67b07622b47b3bebb5d867f3e7a72a77848ad85105eb8be33aac006b957 w
F internal/testdriver/modernc.go a6c69a9f21934d3d2f6a0ef30481bf72c8d69a8d9baa53a0547af98aac0c2f48 w
F internal/testdriver/ncruces.go 1fc6dd6c293832d246f923da015e0b1edaeabcf56b6a3f302ce6268aa32a0e30 w
F internal/undo/undo.go ee2d8a12aee06cc21fe5a059dd2abd736f4266ea2ff35b33cfef2569513115a6 w
F internal/undo/undo_test.go 05a4697255f6f444fd98c0bb14164d5ecdb5a5837639ba8f5d0377cf673a2421 w
F internal/uv/status.go 585384ea2e1e0b39f21202015245b06a221e88b2d2176e06e4d002bf20559b8d w
F internal/uv/status_test.go 16cbe804eea490a562206261a3944e202b8b78e187508ab31c7f2f6b092a9056 w
F internal/uv/uv.go 862ced67bbfccdbd4621877b855b172beb9d7920bd94dd6d1afba726d14678f2 w
F internal/uv/uv_test.go 52b0861925cf9e696202f213067e2ced16b6e27ec0bdc27c6d25987645769503 w
F internal/verify/check_blobs.go 302ce118e07659ffda853d0ff17cfb824aa6745aa48b621ac7954299e9c7f4f3 w
F internal/verify/check_derived.go 9e2c02ba870421dab8b95badbb95ffbb13b5775bb1cc2bcff2089bb71c327ef2 w
F internal/verify/check_structure.go 4b8819f8666a6bc78ee053b27d802f04aa68f77aece01808efd646c10115889c w
F internal/verify/rebuild.go 45c435f0366a955006058de8e6752b86ab2f82c93e66ddeb8b13d6d6a1c9b488 w
F internal/verify/rebuild_bench_test.go 0168523ab5883a21c2ab5315952f6d319fb7912beca01bec29b9c7e5e4252e7e w
F internal/verify/rebuild_leaves.go b4bf50398438470b19a3711031257059220526c5642af98bfcd323ff9b34a520 w
F internal/verify/rebuild_manifest.go 29a43d3ee08ab013213e612cfe81fcf0a0bcca860cc6d44e7dfbd04827031290 w
F internal/verify/rebuild_tags.go 99ee4456ece1008f01f63027ca388936925dd36cc3fa54c542e4591c4b46ecec w
F internal/verify/ucard_presence_test.go 10c9a74844ed3f0d71b793335afa3ebd8f085bdc8f3db5905425539db4c65bdf w
F internal/verify/verify.go 80430d124f268efebf270d50bfda53509630fb6d3f79d7c05a51707763c0df41 w
F internal/verify/verify_test.go b28792f0fc9cc05fbc0ac734f372e467b0fc6bb7dd1ae2285e62a6f84ebf7aad w
F internal/xfer/card.go 3fbbcdd88085e4a86a94ff0fd2d4165fa99e12460975c948b99ed55267d81ec0 w
F internal/xfer/card_tablesync.go fabb29eb54d5bf72280d9e5739845af39501f3f94da505ddd05c4961e52434ef w
F internal/xfer/card_tablesync_test.go 976738f67cef781151fde6f1a6b981c4439467d75b5f528cfe9bb893e3fd6e58 w
F internal/xfer/card_test.go b6ea8f2b45d5ac37f0b46186cc7183763d7d037555309848b85582e52a7e7e31 w
F internal/xfer/codec_test.go f63649eb0157d2c0e9d30fbea543df6044e322459c8aed86eb1e9b006576f2df w
F internal/xfer/decode.go afe72d3f8875f5e758f9c5a488121c5576c0d029c2938e38a2580ce3e90acd33 w
F internal/xfer/encode.go 707cb7817b4cd56fe5a49ee5cbc4051f0f6852705a6044eb2282a6dac641b30c w
F internal/xfer/example_test.go 94a8cee17370f88ac21ed3f382fda20b7e918cc3193eb9fec1db5e689a44ba9d w
F internal/xfer/message.go 1446a6fe12ab65d0560f79125cd9d885e3f1cd90ad1605caec7d229c6317f4ff w
F internal/xfer/message_contenttype_test.go d8b80c226061073c8c00e8903b3182459ce0098780c1d9e279c7ffefd31d25d6 w
F internal/xfer/message_oversize_test.go 0149cd49120c3e15080c6c25fc97595ceb2023083b2c16a243774a0edab470a7 w
F internal/xfer/message_test.go e5f099df8a0462c69ed6c6d62783f03c73bc43b5a561086be392205c58b3a52d w
F julian.go 50d5be711e4cbc2d96722f06b2554ea72d06372df9579a79c065b89d7f9cd715 w
F julian_test.go 5ac50dd9942524841975f586d38dd8bcf82c7f0bda3cc43201e2710950268b62 w
F ls_branch_tip_repro_test.go 133c244881796c991a76a563933a0394728da239a67792fed5c1c317759e3d36 w
F observer.go 43fc547a68bc1ca5b6e742a666e90c6d58dc7aa2e7a90bf28dff7cc54fafb6f3 w
F observer/otel/go.mod 92e69052d683ec3385389614b77228c7a915d98ea96c09f60fcb1fbcf1b0b3b2 w
F observer/otel/go.sum 91ccc3129d5bc401b484be48398a395ea7749f955f86666bc3b55dc52d440c42 w
F observer/otel/otel.go a639b1e7f7d8b2a0c8c345a96252363c87e85831a6428900405d349b5f0d0738 w
F observer/otel/otel_test.go 7983106049138eba7969b92246e205468a083c02e2c2bad3f3dee012231d7c16 w
F observer_test.go 8811bbc50bb75cf382843d02df96f50926d13e8a4fafbe038b6d9183b46a555b w
F repo.go e00afd15bdb6f1058f315fe83972c679204bfc69134b7b0070fd5aed491ca248 w
F repo_admin.go a9e9b25d409efa22e02f489dc0d703c048c41551fd5e04ba8d859ceebfff32bc w
F repo_checkout.go 28fda51b4b0abd784e0643bad57c7bab4c13541730d1a1f3c6943760e3b0d8de w
F repo_checkout_test.go e07d69067cf9420f3222bd7b13db2f2ac583d519651346753c08a0e559c4b8cd w
F repo_extras.go 5c886e9f2c2bcf3fba43fb5bfb59dcb2b54bf784f760578b2fc5536519d9ccaa w
F repo_extras_test.go c7f90c8591e341410b48f68a27c0bcf8afe9edb5fe2878bb76d852335d166bf8 w
F repo_history.go c94c4b9def51f59325938d164ce531a754d259e6b390853ac8d594963d95eb7b w
F repo_history_test.go 5f5c181508de69766c37c137be0084daf792072ef4a9a1425db7d7b2e5a0dca4 w
F repo_ids.go b306110e69c5d1c83033ee3ab012fd0699e1f06f0c5b7e5d9cf1538d68825523 w
F repo_ids_test.go 3063ef837c0c7439a4682f6d86cdef789c25e0a2bd4808d63fd267088ce9ad0c w
F repo_merge.go 18afaa8587e55372e36665a1051a0ed5e2344a8bd591285759ee7736285d0a7b w
F repo_merge_test.go 9efe2315c12495c6da4f055addef8f1067b105d6d2920e52ee52938aff8c5bb3 w
F repo_pull.go 3566654c2d28275a29478587a3dd8a273e945c6d1b9b1f2fb882f82fcbdf77d8 w
F repo_pull_test.go a8460770f51a8c242118fc8bc90a89c84ee402340b6b6076d897c040aa86695c w
F repo_resolve_test.go 597c0ef15b9c796e1b701920be63a9716af880120534fbb30f8e205ff3bb32ed w
F repo_sync.go 46700deef3276daff955ae28bfdbf7cf30b5474e777f0d370b59ac4963f0df12 w
F repo_timeline_test.go 4d2353d61eff5f70cb1438dff9996e05f6ab7c95bc0255b09f7b375d172b14ef w
F scripts/gen-llms-txt.sh e297fe186d81653c16fdd15b54d8a8c6da3b6e093e6fdc580854643ac6934daf x
F scripts/prepend-sdk-frontmatter.sh 0fb9f191ccc1ba6460c5d447f4f3f01edde396e7ddf2178f582f47cf62373b05 x
F scripts/sync-version.sh d747a91302d128ce66f9bc8ec17624a70b0205f5a65641c5b9d3e71b17cfe62f x
F simio/buggify.go b508a447ae1af2e242fb4e425dbccc0891731b210220a913ca6e83c2935e1484 w
F simio/buggify_test.go 1985b98aeb0e055e3e081b5939606c217b7ab35c524b5620dc0a8300ba1d1bb6 w
F simio/clock.go 6a6e8d410cfc5da6102c95d17ea2dadc9008f968c38a1aab07533008e8b484e0 w
F simio/env.go 572df6dd05de503e4add227442f6204b586ef32faf9ed45ff86f632029771def w
F simio/env_test.go c6627e422538bdd49b39d2f608e9d3a83536fb102046394f013a4ab86a1a78dc w
F simio/rand.go 9af404eba1cd668bffdf95a28660b785353605412900359c615864c2bd5a2127 w
F simio/rand_test.go e3a32c8d746fd2d6f7f20c126eb70f320e8a4f6909640d8a69472cb07ab38042 w
F simio/simclock.go 48034a8b2e7f9e54c1d4480501a14b35005dbcb599a1d5ab525600e408bb49a5 w
F simio/simclock_test.go e21ca0fd4b8566ad69fd6a36ba8867ef56464b5927038a5daad8ce31031d8616 w
F simio/storage.go 9eb28b17dddd191c361cc55cc5f015f0584a4b1621eee12aa9fbe383cd61214c w
F simio/storage_mem.go fe96a8aace77dc3379d12452dfea1b2c7737ef105fedf7c953b258e428bdeab0 w
F simio/storage_test.go 7a1dfb458a69a1b2851a4246b3aa4637f1c3094054ea6a68cb718290dccb2e25 w
F testutil/testutil.go ccefde75878eebf8655d0172b7d9a0390e373a6e349b1ed569309d4c59e83cb6 w
F testutil/testutil_test.go 29a314bdc4faec3da3af6025f2bc74a8f86caf556801689ee621b8c5b5525683 w
F transport.go 91e6d6e3d19649ba1e9fc2a88046129fb3f073b7a6413bd00dd37e02b39e1274 w
F transport_test.go 30e0c5e29f58a9afd7197930d5d85f59f72244b6cfc41ed6f068ffbf5f5bceab w
F types.go c9111ff0399faf826565f71b9599434943090fcea8e7f3c5b5458d95f3b96747 w
F types_test.go 144c2b033546e1c4a09de9a5cc3c9937608a14c7bcd38db5e48bdfb152d61f1e w
F wrangler.jsonc f19630509e536b24e89ad26e84fb4ab33ee3723daf96e2c300779fa8e8228b2f w
P 00e69bc9e07879550fdff602fb57f36747c038c56b5f928ad16b19386100182f
U [email protected]
Z 84a067df13a6edf3cafaf4618307ef1c