Skip to content
zit Artifact [0d16bc966d]
Login

Artifact [0d16bc966d]

Artifact 0d16bc966d222b98cb1b41659b53351aeb9b018b9c98dba95c2e0defd80e3032:

Manifest of check-in [0d16bc966d] - logstore: index v3 carries a sorted directory, so opening builds no hash map

Adopting an index inserted every entry into a StringHashMap before answering anything: 255,167 keys on a 302MB store, to serve the one or two lookups a tree listing makes. Measured at 5.5ms of a 24ms open by building the map twice and taking the delta.

v3 appends entry_count little-endian u32 rids ordered by digest, and lookup binary-searches it -- ~18 comparisons against a quarter-million insertions. Opening tcl drops 24.0ms to 20.0ms; with the hardware crc32 change before it, 38.5ms to 20.0ms. Output byte-identical.

The directory carries RIDS and the entry records stay in scan order. Sorting the entries themselves would renumber every rid, and ancestry, phantom snapshots and the sync walk all read that numbering.

lookup consults the map first, then the directory: entries appended after adoption -- a tail resume past the index boundary, and every write on a scan-path store -- are only in the map. Every held-check that was reading index.get directly now goes through lookup, because intern runs during a tail resume and a miss there mints a duplicate entry for a digest already held.

A v2 sidecar is refused and rewritten rather than adopted, as v1 was: adopting one would leave lookup with neither a map nor a directory and answer null for held artifacts. Pinned by a test that downgrades a v3 blob and re-checksums it.

The tests pin what equality cannot: that the map is EMPTY after adoption and every digest still resolves, that a digest which is not held returns null rather than a neighbour -- the failure a binary search has and a map does not -- and that digests written out of sort order still resolve, so a directory that merely mirrored insertion order would fail.

Closes #145 by dmestas on 2026-08-24 18:33:54.


C logstore:\sindex\sv3\scarries\sa\ssorted\sdirectory,\sso\sopening\sbuilds\sno\shash\smap\n\nAdopting\san\sindex\sinserted\severy\sentry\sinto\sa\sStringHashMap\sbefore\sanswering\nanything:\s255,167\skeys\son\sa\s302MB\sstore,\sto\sserve\sthe\sone\sor\stwo\slookups\sa\stree\nlisting\smakes.\sMeasured\sat\s5.5ms\sof\sa\s24ms\sopen\sby\sbuilding\sthe\smap\stwice\sand\ntaking\sthe\sdelta.\n\nv3\sappends\sentry_count\slittle-endian\su32\srids\sordered\sby\sdigest,\sand\slookup\nbinary-searches\sit\s--\s~18\scomparisons\sagainst\sa\squarter-million\sinsertions.\nOpening\stcl\sdrops\s24.0ms\sto\s20.0ms;\swith\sthe\shardware\scrc32\schange\sbefore\sit,\n38.5ms\sto\s20.0ms.\sOutput\sbyte-identical.\n\nThe\sdirectory\scarries\sRIDS\sand\sthe\sentry\srecords\sstay\sin\sscan\sorder.\sSorting\nthe\sentries\sthemselves\swould\srenumber\severy\srid,\sand\sancestry,\sphantom\nsnapshots\sand\sthe\ssync\swalk\sall\sread\sthat\snumbering.\n\nlookup\sconsults\sthe\smap\sfirst,\sthen\sthe\sdirectory:\sentries\sappended\safter\nadoption\s--\sa\stail\sresume\spast\sthe\sindex\sboundary,\sand\severy\swrite\son\sa\nscan-path\sstore\s--\sare\sonly\sin\sthe\smap.\sEvery\sheld-check\sthat\swas\sreading\nindex.get\sdirectly\snow\sgoes\sthrough\slookup,\sbecause\sintern\sruns\sduring\sa\stail\nresume\sand\sa\smiss\sthere\smints\sa\sduplicate\sentry\sfor\sa\sdigest\salready\sheld.\n\nA\sv2\ssidecar\sis\srefused\sand\srewritten\srather\sthan\sadopted,\sas\sv1\swas:\sadopting\none\swould\sleave\slookup\swith\sneither\sa\smap\snor\sa\sdirectory\sand\sanswer\snull\sfor\nheld\sartifacts.\sPinned\sby\sa\stest\sthat\sdowngrades\sa\sv3\sblob\sand\sre-checksums\sit.\n\nThe\stests\spin\swhat\sequality\scannot:\sthat\sthe\smap\sis\sEMPTY\safter\sadoption\sand\nevery\sdigest\sstill\sresolves,\sthat\sa\sdigest\swhich\sis\snot\sheld\sreturns\snull\nrather\sthan\sa\sneighbour\s--\sthe\sfailure\sa\sbinary\ssearch\shas\sand\sa\smap\sdoes\snot\n--\sand\sthat\sdigests\swritten\sout\sof\ssort\sorder\sstill\sresolve,\sso\sa\sdirectory\nthat\smerely\smirrored\sinsertion\sorder\swould\sfail.\n\nCloses\s#145\n
D 2026-08-24T18:33:54.793
F .fossil-settings/ignore-glob 8e93bd175fd111e335df8e2039417038bd0bdb45400b03d79028a41b65e8e57a
F .github/workflows/ci.yml a98929b109c91cc53bd395c1470ed5ec239d420a6bd29d9ecc73c7f1fb7f621c
F .github/workflows/release.yml 3b70ef2b0549b24a336b3f614bdbc18cca8763c381117b65762cbf77874a79c1
F LICENSE 702ae7ff835a2a971dae11c5cae039803bf394b77a6d8ec9f18693e449eaaf26
F README.md 7799b87ebd70bb5130fb3429823da8d77c4a4f56822598d22f8aa9fd1330e8c6
F build.zig 577a212af02a8226d51b068c5d0f56c66a13e9059d90674a50d839c4103e0490
F build.zig.zon b3ad7451026e4709f2ecd1f4f0612705023fe9b4262e3b6b46689a02f9bfde24
F docs/RELEASE-NOTES-0.1.0.md 5ed8b4d35ee23b7990261f8af34f5fa3cc629baf63b0059d9f7bb2d2c48dc802
F docs/RELEASE-NOTES-0.1.1.md 59eea8c487dc1e9190c44c371656e430cd5621031a71c502ecbae96802712857
F docs/RELEASE-NOTES-0.1.2.md 7c968ab247ad1194f9163e625a37452ae72bdc23f3e66e8ea26b39f6e0a52914
F docs/RELEASE-NOTES-0.1.3.md c8f703b8717040f96a9b77ad132bbe309ba4368ead5362739e4d5ef23f2d3286
F docs/RELEASE-NOTES-0.1.4.md f72b4448e67633260fe8a4936a382bf50f786b3c7809410b89181742190c9f1c
F docs/RELEASE-NOTES-0.2.0.md 232e102c02a7e5010684833ea4dcc11e95a18bf147cf5097bf5153ccb04bbea4
F docs/rfcs/draft-fossil-artifact-format-00.txt a6d542a5effeb41d0ea1e916058ccdc0a5819787f167ef1ebad7814f5680e7ad
F docs/rfcs/draft-fossil-delta-format-00.txt d8025d6d75322e33887c3334a4b9cc729960028b3c994ed01e5a474e4b388fd2
F docs/rfcs/draft-fossil-repo-state-00.txt b35480166caaf5d2c220086140a1d47034e9b4967689be8f4cd8779bbdbbc3da
F docs/rfcs/draft-fossil-sparse-cone-00.txt e1be42787c178a2726dc7cb68da057d9724133d03de33214dbca894a43ff205e
F docs/rfcs/draft-fossil-submanifests-00.txt eaef2e2e36f4fab96ec4ba9654a8e7c02317086918f6e32e45fd62897dfd48e9
F docs/rfcs/draft-fossil-sync-protocol-00.txt 153d31ec11ff6636793514df711389883d5dd3111b97d3da295a30308fb400b4
F docs/rfcs/erratum/artifact-format-00-s4.1.2-sterilizer-position.md ae301b23caa725efd241de1f5c3863d894c0f52c8e4316fd6221e059575d2e32
F docs/rfcs/erratum/artifact-format-00-s4.2-empty-trailing-token.md 1fcb1586b93465412f06965dc908e3881fd6a399305b1f5abf3d239568fdb910
F docs/rfcs/erratum/repo-state-00-s5.4-cancel-halt.md 6da9b775c027b729f67a542195b4d8931d953e5fa7514ec78faae2381448fad5
F docs/rfcs/erratum/sync-protocol-00-s3.3-content-received-flag.md 6ed3e12fff07b80711b28bd516b1d7a636924d305ade6a3e132929b0a8ef9e48
F scripts/archive-compare.py ec1ed6d6dd008baff21a63c6225aa06768fcf67e0876e23e1813001bb8c329b6 x
F scripts/archive-fossil-diff.sh 65c37af1ea97ca650c485e12a7db1409fb869663e1118316f33b332c7a5c06ee x
F scripts/assemble-release-manifest.py 5409ef72202603af19acb40114a80ff8f86819d20c066e32807788f089c0940e x
F scripts/check-citations.py cc12cb49ddb675c281dfe783acf0b7ee14d3c4b40233a15e2fa0ee9b273cc3ef x
F scripts/mirror-export.sh 2b9b50ee2734d2c07b249879766510392969e30ff06eaa93e15965af388946e0 x
F scripts/roundtrip-fossil.sh 4862586a53c4250a57947905123d2169b767f569bb39e3770998ec11327fee1a x
F scripts/soak.README 3a2f028e4f87a395b2b779ac63260fcb68a7a9c7ffc9fea5b065d5bc065c4719
F scripts/soak.sh e184de2f7396ae88c1266d565092282dc9aff151fab8f971840d867562f7d1be x
F scripts/unzip-preserving-modes.py 75f34a3ca04eff4c9ec459825e82043075428a7019e2364536f51ba0f437d85a x
F src/annotate.zig 0a6b6728099e63c84681d1e5228ebb45fafb55d65df1720358247fd6e6532c63
F src/archive.zig a8d163436c3f4b5c24ee2c446992f24858b7edbc5ddb26c62a2cb538febf7d1f
F src/artifact.zig 7f9bd18e27524ed7fb8f9c68d5c020960c06358646dc64196bfdaafbc68dd609
F src/artifact_fuzz.zig 98000540f71b1f8fa8a33d2f1da885a6c9c2507108fb1bc95630c3b6b4fab0dc
F src/artifact_test.zig a598c020dac9618bd6eb9cf5c282c7d47b950c1d2ff457046a5843777b101692
F src/bisect.zig 29f3457a0bd18be77b4422cf603e8e3aec53ed6b204d8ea1de1ecac95f21533e
F src/checkout.zig c4a5353257da7af8c37d2e1fe9c53983af10439707aaf452deb336f713312959
F src/checkpoint.zig 005864332353b898324b03725d85eb245774641b632839e63a443768d8bdf025
F src/checkpoint_test.zig b4f695a0f3eccfb54eec0cc4ad8490b490c17f333c13ef6cc2894816ebbad457
F src/ci_test.zig b04134aa0eaf73b836d43c98191712ccd4268ac55958a164ef4b2d0df889c604
F src/cli.zig 5f9d45d9950ca18a3f479f26b2aa0846a495a060ada7ebf1a16488bb865df234
F src/cmd/archive.zig f462a2970239dc346baaf96f6802c69ea1e48519fcf9e6702d0e3f8722dc833c
F src/cmd/checkout.zig cb9a4b751da0c2e197821a2e42e8cf0e056088ce94d80e2d8a8e1eda8c55bc24
F src/cmd/history.zig 6f1240294943731b4a7fb3aaebb4eb07fbf53053238032ccd8ec5de77a8b3136
F src/cmd/landing.zig afd206a221963ea73a47b1c5a83ec27a2a4ddfa524adfc0ddcfacf1ec1ad4fb2
F src/cmd/precedent.zig 497de1ca7e9ae3cf64bda199fe9bb5f7a772e19a58143183d62a068fe0e7a57d
F src/cmd/purge.zig 095a39f51820bda1e5d2790239e4dbf342c91fd818fd940ee550753222a223a7
F src/cmd/records.zig 19949a5f308295e3915734e7325f3c57d4c47b3e5826282b441e491384ca4ef0
F src/cmd/stash.zig 9e4dc24dd984cbe985edc5b19c5fe75e00ee2ad70dcead56cafe63d6a0ca68c2
F src/cmd/sync.zig b6fbb27f7246fe318aa30f78659a8130e6874766d308b9689e692f50d1c15e05
F src/cmd/tracking.zig 4896889324881108d199ddb5d0731f51b81261d0c1adf6533f0633426f4db216
F src/cmd/verify.zig 84325ab7abe99dadcbf31d7470b951e8b9cd2e6b5a4dccad7d394cf14bd3f063
F src/cone.zig 497f984a86122af2fa212bc01680ff2e742ff0ff457032b8835b942d487a588d
F src/container.zig fcac159b32c70a3270cedb03328c2d5029a6e4b2af5095fe65450bdd59baae86
F src/container_test.zig 36dd76e86a86be036ed5350dcfb439d8791665360bed0a051fbcaf03e00c52c7
F src/control_paths.zig fac80d3baef1452f954859547ede127aaf5144de9a834f7af6ed64a8b0d66481
F src/crc32.zig 5ca5369bc091b829ba240d1e7209098bc6dbe1d7cc8d14106f2224ec0a1df3b7
F src/crc32_fuzz.zig 2e6c3425989051ec826b0f1208fa9716808011e71c98ff0a5ae2e38de524caea
F src/delta.zig d489bfd517759021e4f006355c1b9f99717ceda2068739eb3a9f84e291a95a89
F src/delta_fuzz.zig 5e5c715722760d6f45c4eaaf9b5d495bf83c59e5869a0e0dd76bb57b007e3b53
F src/delta_test.zig a2774c0cb1799fab9eebf89bb85035e14a11af87f36349462d747b5c4b3b2b22
F src/dst.zig f99800d04b1c659bd24579445119b35c8c89d629111867dc1cbc38b2bb86270a
F src/e2e.zig e1c98f393187e35ddfe8c122a259e48c175add8d641c4d6873e4c2f28b33e783
F src/extras.zig aad3d074aa947e7af06063bb1492cbde22847ba2e753f530858e3eef3df048c8
F src/fossil/fossil_convert.zig 62688851dbee43e72f6227952b5fdcefeb8cd68b8c3cd860fd83a7e2a60e610a
F src/fossil/fossil_import_cli.zig 4973d450e988e8d12aebfc990473be968288df4a09e795ac6c8c9fb5aea375b7
F src/fuzz_tests.zig 60f1db664e0540a05944c3ddb230125ecfaa971e30aaa18c1001c349e861a083
F src/git/git_export.zig 35c488958375f0c0bc2f339c93f462d354c133299f76960b9b08b5488a04a0a8
F src/git/git_export_cli.zig a80638503de54bcdc95e245bfbb9aaa6b0adf1b8e9a19371c9f5e3f8bd5b223a
F src/git/git_export_cli_test.zig cc18de1813b315f55ba1e4d475093c01340a94341205ae3836a7fd1855b5167f
F src/git/git_export_e2e.zig 04856a7b24f2ff2bb510105dfefff4bfc5dc39872f08275660b43f37c9adf7d1
F src/git/git_export_impl.zig 997550e0afdc34cd8ac227bea77889ed3748f24ef1db70fffec3e7bfe752936c
F src/git/git_export_state.zig fac1f267f500c33424e7b1b4b387fe8d6f2af694204a0c8b729ce8cb0efe1871
F src/git/git_export_state_test.zig 17cdf8ba0f6ff06e1635bf10f50ad6933c7721940ea6a88dc0767aa11b8f3e08
F src/git/git_export_test.zig 5cb98232fdf80b56b341cf88db9596b03da65c462e593cc0b6195a596152893e
F src/git/git_fast_export.zig 5ce982e47159005c6cde2bfb81b62d5329a2bc4353659ce7fe70cccc21b9208a
F src/git/git_fast_export_test.zig 5c3e5e7a8aaeb2de28d75d651b3c81d7dc9d4d48990865d6c2deec37c0c08ce9
F src/git/git_fast_import.zig 47ecdc08d4693e9aff853b3c1b8d2ece959e2202d54e2135b6602b4f48d20c55
F src/git/git_fast_import_test.zig 5bc654344f3c5bb7ea71e4594c3619364be6a9a28fb87ce72379db143e0ef075
F src/git/git_import.zig 5cca087df432291a1d0b5a13796b86ea4f0755aed6b843ca9bd9327452d2b699
F src/git/git_import_benchmark.zig 22adaad4e930df8440b67e2da58dad8c6b68abf7c819d29ac352ab9fc062e58a
F src/git/git_import_benchmark_support.zig 1e9bc27aed47e63f315cb5c8a4fea2f43a4ccd410e4aeb35c4a8a81391588f68
F src/git/git_import_cli.zig 0acd53c304d9bab005064058b2721b9c82a77caa640e5b35c1d5252ae5f66e95
F src/git/git_import_cli_pipe_helper.zig 0cbb3eba0d56a9d4fb26b74f20565532372c4fbace16742d6943d04b13bdcdec
F src/git/git_import_cli_test.zig e8d5e1556c9379e852c589f3a3f6006a415a694a872ae8b1a7523ecbb05b1d3d
F src/git/git_import_e2e.zig 1f96cc4cf2d834fdd09b2a353968f253851da642a486518b8b1b58db59d61bc6
F src/git/git_import_impl.zig b60940d901b885bf72035b0194dbcf8076d2903aa6db7b3c0b165f505bd95eff
F src/git/git_import_refs_test.zig 292c90eaecb57a6535dcecace9a7141ad857ec5a92e13dee90f95e6460937c7a
F src/git/git_import_test.zig 097826cac58f964c9ede59e290a2a2d0b9e32db72638a48d470dcded518186cb
F src/git/git_import_verify.zig f44f4c7c01c1032dcca3bfaa9a40d7e6aefb22682c18c37bf305c4d23564becd
F src/graveyard.zig f49f9de3c16b86120fe3fc1f15197ea0347b946ad21768f297248c375a6e0adb
F src/ignore.zig 0f47c0d3eeab385d374c83a6c246f22adc5608d14643c5ced34dc4c3912cc7a6
F src/logstore.zig d289905d416faf612f17efe2459f696da26fba860db47443420b2850af3cf2ad
F src/logstore_benchmark.zig dcfcd1d5ca8767e72440521c564f9b21b30d33b81cb2bf5334d1581aee0fc6bb
F src/logstore_fuzz.zig 87d73166e13152fae8290e17f5dc4030c0f8a2cc15b570e9b8d3d39d667332d7
F src/logstore_test.zig b8f121d3caf4c66b6a197bb0d973c6449696b5306e0ddeb4182f85da86fc6ae7
F src/main.zig cb82e00004ebe3848d4839d0598d358c4f5059f8e74ef22de6f3cc5ee5cb1a3c
F src/managed.zig cc4b4dc25b23f988985f600da226260708c253a43c8e52388b6d174a5040006a
F src/merge3.zig 7c8c1054f56d6919336d1319bc08ac804f18a3a17c4a3b7a8d6db61545a462e9
F src/merge3_fuzz.zig 53ac948c41530846e89015895a92c9f48ea9d4c630ff05b412077c03abf8ad36
F src/pack.zig fac185f42b2c6ebb3020401de12de9999fd923ed6fd6a8951d2bfa93555e34cf
F src/packaging_test.zig e85c29a747220e26a46b521489684b442f0eaf51eefc1fc0a9fa2a767a841574
F src/precedent.zig 8c91a006b50ffc126a6b91794c73baf1f184579e103e83dc0d2d63ae57f4f4b1
F src/publication.zig 9837292b70c2ab1356fb2b6ba1a158b02cf636714df1af85ac090435434ccda5
F src/purge.zig 7f0fbc850e842141d7796e6727b8c010e9a257eccffd8765e304bcb01f99da9b
F src/readpath_test.zig ac9d12e40af03b24e35947c6aa86ce228f34581f9aa7f0b8e4c6099061692a64
F src/reference_test.zig 0c7e575542389de9b359f9a618378c8372e5528e2ed7c3d05ee869b93c09fda6
F src/release_assert_test.zig b6ff30f41362b736858771aa7226fbf8aea8e0a1d28028c4ebdfeb8c6ab64cb5
F src/repocache.zig 8031c9a405574d46ddbc30b392d6e2be316bad4e0244a69691ccfe8afae52373
F src/repoimage.zig f221fb0b26a41c0f424393c32947dce6493c6c941f353ebd421241b72f9a2439
F src/repository.zig 8bce4f4e13ec0c3a06381b52f1b5ef44ae0accfe89f3169ab7e0c78a3c3bb773
F src/repository_test.zig 5f54ff60428538ae37079bcf5a974b343ab121d321f0ead2ab45b6cbaef2292b
F src/repostate.zig 9fcc1027fd65fddaef5df654d1a9b002acde4051b62b5257aa56c0d8a1507cc1
F src/repostate_test.zig 1a62e3c17458e1d4233fca7c33e916a0f8f0fd13bea8383977f33d0ea71b4f1a
F src/repoview.zig c92a582b16f3c28b0fe61ebf87afebd23762cef5f2f067b384766cf9d296548d
F src/rfc_vectors/artifact_a1_1_sha1_manifest.txt 82d8fc78b3fbf85efe80cb05e79db40c910bf0551e55b728c6f9c2ca7a42ddb6
F src/rfc_vectors/artifact_a1_2_sha3_technote.txt 832e850f83aab2e2a754aa97591109f7f05fb41e4126c7e71c88a59d6d17e55d
F src/rfc_vectors/artifact_a3_rcard_manifest.txt 47e412ef211f095e93275fadf527909e581eef42357d8437fc7e299bfc3e62a7
F src/rfc_vectors/submanifest_a2_1_leaf.txt aa9d404c14fe4dadd2ab398961fb0dfe650a877c061f650d8233a5888e920acf
F src/rfc_vectors/submanifest_a2_2_leaf.txt a50a722b465ed67b42ee0fbe61e4a19d6b1d22940ba5740e99e450921e3f52ea
F src/rfc_vectors/submanifest_a3_tree_manifest.txt 95fba39cbaba76fccb15571516659cea6a0e8a60123c3e7bda1397649d87c509
F src/rfc_vectors/submanifest_a4_1_leaf.txt b8e53d0c46cb57b616cc0ed6de5ce2453715be6157b73d247bcd5de8a6510aaa
F src/rfc_vectors/submanifest_a4_2_leaf.txt cff23e5ba71569397c1d816afa2dd0bfffc42339e402df36b63623846bd5fcbe
F src/rfc_vectors/submanifest_a4_3_leaf.txt 9604c3f9774f7472d7bff44d5965f30250358a3e7a18046eeaf5f9d83bd5cdc6
F src/rfc_vectors/submanifest_a4_tree_manifest.txt 02dad8d4451ecf930c0c8637cf66351579aa746aebf0cf10f249b2a6dea37caa
F src/rfc_vectors/submanifest_a5_delta_manifest.txt c74e37f650677523f7b6c2b4f094f766c4427a8ea180768ad75fa2de6bd14902
F src/rfc_vectors/submanifest_a5_encoding_leaf_1.txt e2899273b6a258ee18e053a79903d02469a275e2c80279c3657c7b803e2af6c0
F src/rfc_vectors/submanifest_a5_encoding_leaf_2.txt d7edb65681faaa4fd4f3541f04370421b057bf299098b781c7ec50d609869082
F src/rfc_vectors/submanifest_a5_encoding_leaf_3.txt c634332663f1cc0298aae6b61c799214a522877102cd6acdfe633f29fd79eeaf
F src/rfc_vectors/submanifest_a5_encoding_manifest.txt deb0cb8b56fddfc4eebbab0f928cbdb19e64a6ba568064d5b43663dc1ef7263f
F src/rfc_vectors/submanifest_a5_merge_leaf_1.txt 4bf4476e3aa41a1e3d26c85173c18fcd19f61871d4fc31215e523d7502078cc8
F src/rfc_vectors/submanifest_a5_merge_leaf_2.txt 6f3c993caa208b6fd44332d241676f9aa6a8c29dc7e28f287d5cdc088005a842
F src/rfc_vectors/submanifest_a5_merge_manifest.txt cef55b9b325fbc8abd59a044acafa57603c1b11a605e7fbba02d511a6da7a806
F src/rfc_vectors/submanifest_a5_three_level_interior_1.txt d42946de7b59647235f2166d964e9e5878bb1b3aba796b5e9c5e9dc719784e23
F src/rfc_vectors/submanifest_a5_three_level_interior_2.txt c1cc48fa9a3fbc34da7614632137890b4b09b33e750abc75514836c533e5f42e
F src/rfc_vectors/submanifest_a5_three_level_manifest.txt c136ef62f5f13c18d06564649da6022d9fe25cde5be15dd1ad10b04015096424
F src/rfc_vectors/sync_a1_round1_reply.txt 638813029b10f81303b88859279afb17095d7c779c993f4267870909acabbeb9
F src/rfc_vectors/sync_a1_round2_file_cards.txt 4fa397741f7521cc4181d5d6b04dc143187f57602384eaa688552115ecda27c2
F src/rfc_vectors/sync_a1_round2_reply.txt af956808190c79b37a384041690c36b78845b471d6c6c01d1cced6e3ee92e6b1
F src/rfc_vectors/sync_a2_reply.txt aa130a127cde210f793c7842960083c765e0ffc7b673374fabc8f0edfe03d763
F src/root.zig 508ed1d305d766bed60be943417511ce0840da4709411b66f5fe2138bdf57eb9
F src/serve.zig 5be1635bf2c476d95d8d8a9e7245d29cb639e7ba5a1baca47e4cec1a9e415e61
F src/serve_benchmark.zig ff55c6148e961c9374ad60a756d9d997fadbc854d2a79d625235b580aefb8656
F src/serve_fuzz.zig 3cf64bcfe21ea533536607a1b68c8f1dfe4a3120c235d310985b487c2c2caac5
F src/settings.zig bb19cec7e961f0f9e5b7047d9e46ea6b0f933e9edb47bf8448f589343bca2eab
F src/sim/assembly_sweep.zig 65016d6ae15579b7e4c7db91ea4659b21dc67533b3807ad30619a3b517ef4ed1
F src/sim/checkout_sweep.zig d19803655b955b8129a9db53ee2ed69f5a2b9dc6b7b9a6d4cb9ee2256a83f292
F src/sim/checkpoint_sweep.zig 7916dd906cde77fd1f3cd3b91ffdec35fb3972abe06635fb66ff1aadc3cc5e36
F src/sim/faulty_dir.zig 35daf0603aca3093b88498b51feccad8297f85f49a5c9a7a9d61b02e834081f5
F src/sim/faulty_file.zig 720be41b7f9bd64b9fd2586201e2f62d79c6d60452196eedeb9708b170093424
F src/sim/gen.zig 8189752613ae0c87a34d3ea9ec612db7f2fd8a785b72264957563db478019eb3
F src/sim/net.zig 8fb057012ce0a33f67c928cd696bc2761fea8ba4012b2daa33871b2ba5dfe772
F src/sim/oracle.zig bc9e272bb3332b7b715fbcc254b63583aa294b769d423f4be48593152717dfb2
F src/sim/shun_sweep.zig 8b7b2a106a9eaaeb4d041ec0faa061d51a8c2a866f8fcae5d245f814085b063d
F src/sim/storage_sweep.zig 1f1334ff9a66dd42820a5e378c1f67ea2529adb62ba79add06602323cac01ca6
F src/sim/sync_gen.zig 238d46942915b5c0e989dfc738b5927b5228468ea123e6f17b6fb593aa5cbf6e
F src/sim/sync_sweep.zig de9078e8ee7985051fa524a592be21de6dcbde2f95743f51cba6794c7e6c8977
F src/smoke.zig 58b24ff404fc80dde29669893f20f0b0c802502a96f40ae911322896be2776ed
F src/sparse.zig 8956c58726b78e860b74868b1216416ca6bb21db25a641d30faad116838a076f
F src/stash.zig fc56f090cd112d874032177e938c997401356c839bf642b9bf8c26a1b5e627eb
F src/storage.zig 5f3ffe2557c93eb7810422418677ca08c5e7483ec5427a51b3d60467a54e3d37
F src/storage_benchmark.zig b14e6e8ad8fa2dad4ea513c9926fcc39920f1bb9bc88e2ac7fa9806fef675e3c
F src/storestat.zig 46d7d7201e13de8659f97eb4c00524267b67ec568be3c789c3f6ac0531755ab2
F src/submanifest_benchmark.zig 5ae20750eb98ff8bc94355d89f4ee975c7c1f0baeca9ea9cf1687d01acf73282
F src/submanifest_editor.zig b096fe6bde51cdcf37873a6271c48335fdda117fbfe4757665dd946334dc347d
F src/submanifest_editor_test.zig aa2ba7de6b68cdf83e4f16d1cd8494cfb91631d45a61acbebe3208fbe86951d8
F src/submanifest_partition.zig 5bacebff321c914fb3955f5b4774fb2a6a7143ed4910dc6c1ed6036ac7acc154
F src/sync.zig 9237cc83d50336571ba4396d2e6fc000177d69b2960ffd57dbb2e399ff242ecb
F src/sync_benchmark.zig f4b18c21053a0cece333d08d5230854f6348a56364de29c086d27732d018f675
F src/sync_driver.zig 12aef56f077c99c4edbd64ebdbc64f0d10fb9b1dc814d6fce5651b5d231101c0
F src/sync_driver_test.zig e01441c3234112555a912709912e31b4e85baac1f8877cd1b6b2f13af1642d84
F src/sync_fuzz.zig 0ab9b7195535468db561cdcb405b7bf17536e2c6cb77a115ab1fe2badb001194
F src/sync_test.zig 5ba24c8117526907da1e2e495b4a9211174640f243b2c5c4a4d1555648536b1e
F src/textdiff.zig 16e45e03e912adfb76ab4b128376e402566ded7b94a325498acb6696a1a165b6
F src/tidy.zig 5aa72e7aefb273927bca33cac2a3ad36d8bb27e697175707970b8e6226a4ec81
F src/transport.zig 0b613054a3d6e15ff461dc2d999c5b611d792cd8c166cbbc2b63df728204cd5b
F src/transport_fuzz.zig 43c310c51a6502fb2e049e6f43dfa151b1a632e6c885554ec6edce4ec62a8a48
F src/undo.zig a2ebdfbe9e8fcf9f60d46654e03618216d05ee1935f68cb5fd79801a9e587f93
F src/update.zig 32c263a6b58eadae583eae16bad368b0f41e03ea39c52c6fab9b514eda1060f9
F src/update_test.zig b6088c525eda4dac7e30453ada82ca6ee20ac0bfa11a1b331bba4db01f845869
F src/warmread_benchmark.zig 290887ab34f7777effcd4062c000456b1fcf8a59f84617a96a740d15a0245776
F www/caching.html db31538544058b938fcb921ffd88cd32f6ae7bb17469f35cd4019b3cb8a7bbb0
F www/reference.html 74b0cfd2385202ace2622d154e2376dbc3056b3b87bca359d0a68c11e27d510c
P b82aacc80590412bf24844f59b71bd7dc6296448c0ba9079016494b0e977f766
R d933ae6e1a9bc5bc3bf7d5a69ed0fb31
T *branch * index-v3-145
T *sym-index-v3-145 *
T -sym-crc-hardware-143 *
U dmestas
Z 8c70600dc1b5b8b51b0d7fa47b898bbf