Skip to content
go-libfossil Artifact [3f290b159f]
Login

Artifact [3f290b159f]

Artifact 3f290b159f55c09c32c2221293e4faceb4b0da65cf482a3bf44bd45272da42a1:

Manifest of check-in [3f290b159f] - v0.4.1: xfer encoder, multi-round sync, manifest crosslink (#4)

* xfer: handle empty ServerCode/ProjectCode without arg-count error

Repo.Sync(ctx, transport, SyncOpts{Push: true, Pull: true}) with both codes empty previously wrote "push \n" to the wire. The decoder's strings.Fields collapsed adjacent spaces and failed with "xfer: pull requires 1-2 args, got 0".

Encoder now skips trailing empty args. Decoder accepts the verb with 0 args as "no specific code requested" — the same semantic as the existing 1- and 2-arg forms after fossil's normal arg interpretation.

Also fixes session.cardSummary's slice-out-of-range panic on empty codes by clamping the prefix length.

Adds a roundtrip test for the empty-codes path.

* sync: continue round-loop while either side has pending work

Sync's round-loop previously exited when the user passed Pull=false even if the peer was still requesting gimmes. The user's Pull flag controls whether we *request* new content; it should not gate whether we *service* the peer's gimmes. Symptom: agent-infra's Manager.Push had to pass Pull=true as a workaround to drive multi-round transfers.

Root cause: HandleSync.handleIGot gated gimme generation on pullOK alone. Push-only clients send igot cards from sendUnclustered every round (they always announce what they have), but the server would silently drop them because pullOK was false — leaving the server holding only what the client pushed proactively.

Continue the loop while any of: pending ungots to push, pending pulls to request, gimmes to service. Exit only when a round completes with no work in either direction. Concretely the gate is now (pushOK || pullOK), restoring parity with fossil-scm's client_sync continuation logic.

Adds an integration test (TestPushOnly_DrainsServerGimmes) that exercises the push-only path end-to-end and a unit test that asserts gimme emission under push-only handleIGot.

* sync: crosslink incoming manifests so hub-side state stays consistent

Repo.HandleSync previously stored manifest blobs in 'blob' but did not populate the relational tables (event, leaf, plink, mlink) that the timeline, fork detection, and clone protocol depend on. As a result:

- Leaves pulling from a hub got blobs but stale 'leaf' state, so WouldFork reported phantom siblings. - Verifier-clone of a hub repo failed with "sync.Clone: exceeded 100 rounds" because 'mlink' was empty and the clone protocol couldn't traverse manifest parents. - Hub timelines were always empty even after successful Push.

HandleSync now invokes manifest.Crosslink (the same scanner Clone and Sync run after convergence) when at least one file landed in the round. The scanner walks blobs that have no event/tagxref/ forumpost/attachment row yet, parses them, and populates the relational tables. Local commits already produced this state via manifest.Checkin's existing crosslink path; incoming syncs now match.

Coverage spans every artifact type the existing scanner already supports (ci, wiki, ticket, event, attachment, cluster, forum, control). The agent-infra trial that surfaced this only exercises 'ci' artifacts, so the divergence note in the prompt described the narrowest possible repair; reusing the existing scanner avoids the divergence and matches the C reference's full coverage.

Adds two tests: TestHandleSync_CrosslinksReceivedManifest verifies event/leaf/mlink rows after pushing a single checkin; the leaf- transition test verifies the parent leaves the leaf table when the child lands and that plink connects them. by [email protected] on 2026-04-26 02:57:51.


C v0.4.1:\sxfer\sencoder,\smulti-round\ssync,\smanifest\scrosslink\s(#4)\n\n*\sxfer:\shandle\sempty\sServerCode/ProjectCode\swithout\sarg-count\serror\n\nRepo.Sync(ctx,\stransport,\sSyncOpts{Push:\strue,\sPull:\strue})\swith\sboth\ncodes\sempty\spreviously\swrote\s"push\s\s\\n"\sto\sthe\swire.\sThe\sdecoder's\nstrings.Fields\scollapsed\sadjacent\sspaces\sand\sfailed\swith\n"xfer:\spull\srequires\s1-2\sargs,\sgot\s0".\n\nEncoder\snow\sskips\strailing\sempty\sargs.\sDecoder\saccepts\sthe\sverb\swith\n0\sargs\sas\s"no\sspecific\scode\srequested"\s—\sthe\ssame\ssemantic\sas\sthe\nexisting\s1-\sand\s2-arg\sforms\safter\sfossil's\snormal\sarg\sinterpretation.\n\nAlso\sfixes\ssession.cardSummary's\sslice-out-of-range\spanic\son\sempty\ncodes\sby\sclamping\sthe\sprefix\slength.\n\nAdds\sa\sroundtrip\stest\sfor\sthe\sempty-codes\spath.\n\n*\ssync:\scontinue\sround-loop\swhile\seither\sside\shas\spending\swork\n\nSync's\sround-loop\spreviously\sexited\swhen\sthe\suser\spassed\sPull=false\neven\sif\sthe\speer\swas\sstill\srequesting\sgimmes.\sThe\suser's\sPull\sflag\ncontrols\swhether\swe\s*request*\snew\scontent;\sit\sshould\snot\sgate\swhether\nwe\s*service*\sthe\speer's\sgimmes.\sSymptom:\sagent-infra's\sManager.Push\nhad\sto\spass\sPull=true\sas\sa\sworkaround\sto\sdrive\smulti-round\stransfers.\n\nRoot\scause:\sHandleSync.handleIGot\sgated\sgimme\sgeneration\son\spullOK\nalone.\sPush-only\sclients\ssend\sigot\scards\sfrom\ssendUnclustered\severy\nround\s(they\salways\sannounce\swhat\sthey\shave),\sbut\sthe\sserver\swould\nsilently\sdrop\sthem\sbecause\spullOK\swas\sfalse\s—\sleaving\sthe\sserver\nholding\sonly\swhat\sthe\sclient\spushed\sproactively.\n\nContinue\sthe\sloop\swhile\sany\sof:\spending\sungots\sto\spush,\spending\spulls\nto\srequest,\sgimmes\sto\sservice.\sExit\sonly\swhen\sa\sround\scompletes\swith\nno\swork\sin\seither\sdirection.\sConcretely\sthe\sgate\sis\snow\s(pushOK\s||\npullOK),\srestoring\sparity\swith\sfossil-scm's\sclient_sync\scontinuation\nlogic.\n\nAdds\san\sintegration\stest\s(TestPushOnly_DrainsServerGimmes)\sthat\nexercises\sthe\spush-only\spath\send-to-end\sand\sa\sunit\stest\sthat\sasserts\ngimme\semission\sunder\spush-only\shandleIGot.\n\n*\ssync:\scrosslink\sincoming\smanifests\sso\shub-side\sstate\sstays\sconsistent\n\nRepo.HandleSync\spreviously\sstored\smanifest\sblobs\sin\s'blob'\sbut\sdid\nnot\spopulate\sthe\srelational\stables\s(event,\sleaf,\splink,\smlink)\sthat\nthe\stimeline,\sfork\sdetection,\sand\sclone\sprotocol\sdepend\son.\sAs\sa\nresult:\n\n\s\s-\sLeaves\spulling\sfrom\sa\shub\sgot\sblobs\sbut\sstale\s'leaf'\sstate,\sso\n\s\s\s\sWouldFork\sreported\sphantom\ssiblings.\n\s\s-\sVerifier-clone\sof\sa\shub\srepo\sfailed\swith\s"sync.Clone:\sexceeded\n\s\s\s\s100\srounds"\sbecause\s'mlink'\swas\sempty\sand\sthe\sclone\sprotocol\n\s\s\s\scouldn't\straverse\smanifest\sparents.\n\s\s-\sHub\stimelines\swere\salways\sempty\seven\safter\ssuccessful\sPush.\n\nHandleSync\snow\sinvokes\smanifest.Crosslink\s(the\ssame\sscanner\sClone\nand\sSync\srun\safter\sconvergence)\swhen\sat\sleast\sone\sfile\slanded\sin\nthe\sround.\sThe\sscanner\swalks\sblobs\sthat\shave\sno\sevent/tagxref/\nforumpost/attachment\srow\syet,\sparses\sthem,\sand\spopulates\sthe\nrelational\stables.\sLocal\scommits\salready\sproduced\sthis\sstate\svia\nmanifest.Checkin's\sexisting\scrosslink\spath;\sincoming\ssyncs\snow\nmatch.\n\nCoverage\sspans\severy\sartifact\stype\sthe\sexisting\sscanner\salready\nsupports\s(ci,\swiki,\sticket,\sevent,\sattachment,\scluster,\sforum,\ncontrol).\sThe\sagent-infra\strial\sthat\ssurfaced\sthis\sonly\sexercises\n'ci'\sartifacts,\sso\sthe\sdivergence\snote\sin\sthe\sprompt\sdescribed\sthe\nnarrowest\spossible\srepair;\sreusing\sthe\sexisting\sscanner\savoids\sthe\ndivergence\sand\smatches\sthe\sC\sreference's\sfull\scoverage.\n\nAdds\stwo\stests:\sTestHandleSync_CrosslinksReceivedManifest\sverifies\nevent/leaf/mlink\srows\safter\spushing\sa\ssingle\scheckin;\sthe\sleaf-\ntransition\stest\sverifies\sthe\sparent\sleaves\sthe\sleaf\stable\swhen\sthe\nchild\slands\sand\sthat\splink\sconnects\sthem.
D 2026-04-26T02:57:51
F .githooks/pre-commit 2d64ec9da99ef7b8d80f8b3906916259fe2a7d4d8e0bfc7588b62f86c8483be1 x
F .github/workflows/test.yml b3b131c5441682d96e0cd30861ec58fc716f3b9e1722c7cd25c1ed110fef6e80 w
F .gitignore c597b0e46a476936076d2e1f4e70ebc7a191df82401dc08ae7a31d369e7a5620 w
F CHANGELOG.md 1abf762e9989b66ea637a948ac3355003c72e771f92376185e06ffad0ed563c6 w
F CONTRIBUTING.md 357da160ac28784199ba7bbe59b4a15333818edb56ffabb5d057da36588ebabd w
F LICENSE d967ce740201ba31025b108fe9b0a21ceec2f6570153814f3446901d05ff0dbc w
F Makefile 92e0ff6d4997f963c4e069852e156ef3f345157434e80d65a7e1d55f7239d989 w
F README.md 7fd7fac7a96963895d8103106e32860a5a257db2162fc225c24e1ea2fdc871d3 w
F checkout.go 4fd126f6b142e3a43f38265deae168d9a60e9866f3c06bea093cb1dc7a5cf270 w
F checkout_test.go 36d3cae47028e0718468ef412bfb65041da4eb020fdf4a7c9b2bfef81e79315c w
F checkout_update_test.go ffedef1792cd56a08a9ebe21a9ad97d9f7ed45f119483ca2f6117f7910fb1237 w
F cli/repo.go 739d65a19d90dba31df07280744ece4b11567e265536838e355f18177f0a8b50 w
F cli/repo_add.go 62ac014a3a2fc45e27f3a496a804f9c35a54c978db3fe88d14e6828947075a1f w
F cli/repo_annotate.go 837ad520aa294a047ea0d1adf5ef54150b7707ad948db0818fd89cf72524c552 w
F cli/repo_bisect.go 343e4afe01f9e36a1a321256e4f66399e50510ed46b690de12d0a3e3c381137e w
F cli/repo_branch.go d414860fd00aaaa4f35629444f6fba32ac44b983f47cdf4dc8bcb99e5dffd7e2 w
F cli/repo_cat.go a9cb373d044d58538241ff340302598ab429ffcdf378dcc1ea6bfa79e094d51f w
F cli/repo_ci.go b2e334708ccf0e7c2a3d88ed2b252f299c08eb460f7da22a2f94ee99047350ad w
F cli/repo_clone.go 29cdd2e744e81e574a177f954b00f28bbd48bd4175dbad264783b2bbe10a1bf5 w
F cli/repo_co.go 3296f9fb36ea11da612a5195ec6a42ceb1082adefac360c9f7d01e11fc729fbf w
F cli/repo_config.go d23ea737bfe951b12c73666e51876b2a378ce33c90a27198610e0d0aba50eb74 w
F cli/repo_conflicts.go 18346c000018c57c6c87c52aba862ae1211addf71ee4027499141cc8213d8b58 w
F cli/repo_delta.go 20f5a211e98895b472cea2b1b3585889b5f7283fd0466422ccebdc82fe2a05f2 w
F cli/repo_diff.go 3e39a275248a3ee4fc62bd5d4848b3d57d173f47e28a7cb8779ee92cf8d67d29 w
F cli/repo_extract.go 2ecae7a413966eac8a9785161b35bce51e90db365d75d6d29961e3f820a50eb9 w
F cli/repo_hash.go 5d319b5458793a901ca3a641eb7b8db42e973b3ab7746d8081c50960ffeaa0ce w
F cli/repo_info.go 486f59013b564f79c7977acf5728af170c04fb0f52dfb5fdc461d5db3faff09c w
F cli/repo_invite.go 9e7fa0f6d7ee501c950d964e3f4954dc03f8ea71ee5f8362022588bd4c349052 w
F cli/repo_ls.go 6f57d45721dadd48b5ce35deb2192a87c5b4c2584091e258921eedfc26c87ed4 w
F cli/repo_merge.go 80be6c373ee7dd2dad84360143631058f75c45998227cfc78977203835a23287 w
F cli/repo_merge_resolve.go 5a15271fd422bf4d3ab33b1e5a33e0cd670a4aa91291a282c6e9de9c966ae854 w
F cli/repo_new.go 4acffbcbc4c2b9f23b816c72b2ee0c528ff12ed8a7c3f4cc2ff7be2100c4830e w
F cli/repo_open.go 4866a43b4ba92f59d2be6e493df99aeb8437d214cabdc92b7da0c114197fc2aa 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 4565288636dc8f9a355f31b0700cb5d38a916944a29f169fa20febacca871ae9 w
F cli/repo_stash.go d6d9bc90338180edd7c4df89898f464cbf8a574322ac8645dc19cf8b717607a9 w
F cli/repo_status.go 7c3c9f87555a5bbe5a2173f5414dc463b4a386fb181a94bddb8ec97fa8749e06 w
F cli/repo_tag.go f551674ba5cd8e6a9bd48d71e7592e528ca72689cff22be9145f80ad0f549646 w
F cli/repo_timeline.go 39f4ffa33a4cd73e505c76df7e36fae31c2f8d16482e2d1ec9c3035f501cfc26 w
F cli/repo_undo.go 3be586f6b329663982e714d9e24d898c2b3f70a33020013b89ef4078ff2683e5 w
F cli/repo_user.go ed498afdf4127acc4e3a4182e379bdad869612d7a8ceec3b01d21bab02ea84e9 w
F cli/repo_uv.go 583d0d28111093f00d0c1c189c7114bcdba2e30ec7b19a3c17a2b63406367d99 w
F cli/repo_verify.go ee5e7ed1f92447c9029f632d04403a037850320061b25d6f527ea4a0ef533bea w
F cli/repo_wiki.go 1a0d81a9ebe9944ef870c6214723299f6aceffd921a9b9f5722e8c8f48f3e349 w
F cli/shared.go e2831626a7c310ea38d0795900b02fe88f0698fcbe2dd0e433095640508dbecb w
F cli/shared_test.go bdda048ee3d8ad3f35e32f6fdd9195e70252330fca1e0e380b93dcfe7450176a w
F cmd/libfossil/main.go 3d5e958eb2cf4649ee67346a42da60171f06fdfebf25bddabe4669dce7fce295 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 fb745416f5a8546a4f4aeaac376812dfb0a8718cc316b5b42045c9e396726acb w
F db/db_test.go 0919407ce56b62361bea6da5c94471583f9e5228bc70930dac83c1d19dc582fb w
F db/doc.go 693ccc535c5796a4c1fc4001d6fbb23f30690647f694a6e8b816df1ab962d074 w
F db/driver/modernc/go.mod 965ab06c0bcf452ffc6b26208d912916d1bb9f00faafdb0d005db5dc5873bbdb w
F db/driver/modernc/go.sum 185271dbc6e0ea21ddf66832284ebd0dbd7d6e5bfc8cc46e7f00616fa81b41d9 w
F db/driver/modernc/modernc.go 0a4aec5969c15b1aef81c6dc0aa79b068fadad22b0ad232cd9fcacf2d6e8b9ef w
F db/driver/ncruces/go.mod 58d49790dbbe81732bd0f47775ebfb7934d94ad848537808e5b339951acd2aa5 w
F db/driver/ncruces/go.sum fc86080e7112c0483263fcda073679cf228b98e6578af187ae3c37d90f82399a w
F db/driver/ncruces/ncruces.go 1d4e850e3bbfc57757cf076f99ee6d21ef665ca2b7818d91321e95353ea9c05f w
F db/driver/ncruces/ncruces_js.go 3d0dbd75c9b599e49826c997abfea7a08148b1174b14c22cc75588a3121c320a w
F db/querier.go 51ef51c04404ba191c9778aa9fb28d779cf9d9a0c54f23626825e92d72ca827c w
F db/register.go 2ee97983aa3fa7a3d592c277efcd4a8af515bad2d1bf88aedb0e4eb91e2b54fd w
F db/scan.go be8f9c6a938aaa56e9ccb7cb323042265a756a180bd103a0347b5ef485379b69 w
F db/schema.go 33c9cf4e2882a01a628f6d7a39d68d8b14c33e9f38f2c0ee29eed6c55b439ae6 w
F db/schema_test.go 870b6d051e7c04dc5918353a52f441c1c59add83d51627334ef55cc6c0494fea w
F docs/architecture.md a8609f9d71cb24fe4692e8d086796344b50037d83ca073030d7bdf3bfb58a8cc w
F docs/extension-points.md 7fbefc3ff8e219de2425545df78689fb573b1a99f29317e68e0219eaa0ee8878 w
F docs/migration-from-fossil.md f9d7682627b11c2956a4b22d4796608b1a3638075a3529b5f06d0e74da78be24 w
F docs/testing.md 896f174b99182a7837c02824765c229bb328ce75412bc00b76831dddf3952d50 w
F dst/clone_test.go eb8d0b74e7720c8a88e68586b049b9d26d9eba34668a1553e60261e06bf18251 w
F dst/crosslink_completeness_test.go 9804764395b619cea76286c718e149f67537a06b7e4d6823cd4cfe30e8602e1f w
F dst/e2e_test.go 7f895b7fa02f3da8775f695134c626be8c2c542216db10bac711a89ff829d13a w
F dst/event.go bf634507299f3e9ca68f7843245d255d81d41678ec8d4dcefe4c16e71b786675 w
F dst/invariants.go 9de56c0ce016159d1bd8d289a8b1316c8a28b50652114952491fa638e800c876 w
F dst/invariants_test.go f06813715812feb4cfb970fd788eb3c3ccd71a7652b77b25c8f07347999182b7 w
F dst/mock_fossil.go 27d9502fbd2764d84b062ff3d5b0407ac9396c06038f8373e8eb3467b179399a w
F dst/mock_fossil_test.go 1bf60fa9d35771eb6d443bf0b44add7401c705124cf57f9cb54605ed37442e83 w
F dst/network.go 3ec5f29ee991c845c979d17770e9416543b43b2838497949fddc66d0fc3c905d w
F dst/node.go ddbfbe9a535a0fae55947caf73a65898a56b3111338bd142694bf50431279391 w
F dst/peer_network.go 7ae0de40388efdc5c1f2c9b0ea5e65f54d8ac5b65e18c48ed1be802d2bdc8490 w
F dst/scenario_test.go 81a3d2295d9dbf9aad35ffd3374c1c44001d2713c7d30ef97d383aaa795f6cae w
F dst/shun_private_test.go 5db5f185e84be6f1a5cc8faeb1ad29857f695993394da6446717d716267f8ebf w
F dst/simulator.go d31eda8c293a5acdfeca4da3629c5cbaa74c2a3780c26e9e322e831cd9f5f900 w
F dst/simulator_test.go a3e6bc7b577fc937967a60f5e014a1c7f694b451061a7dd7d8035ab501938162 w
F dst/tablesync_test.go c7497b3b48a68e9ae38fec8791c4e3cbc0e3cc4ab40be17a3661c5281defa844 w
F dst/tag_branch_test.go 4f825e03430b97d53fcfe14cd8807c3ad405283692422e67a8f8396857f6c29b w
F errors.go 8f46011b8b8b1aef1355e895b9db7d536c0cd039c10ac95f46f7299793357edc w
F errors_test.go 4e1346a43f0be34d6e2de643319306453bddc58ef8943a7e113a61874b22904f w
F examples/embed-repo-api/README.md e643ad263a8a1649e8c86e029e180a0fd0f1624f1e2665508a5a99f5649b6bcd w
F examples/embed-repo-api/main.go 26143c6e5dfe13698eed67153c5077a0ffe0c368279f46063bd82114c22f6756 w
F examples/wasm/README.md 13210050c160b6295ec4d9694ac8f83a4f5e0fb2f31439738d1957054472fd4a w
F examples/wasm/main.go 44fc8a30202738d572fdf707dbbac42d8ce7223369587a1f018cd7c3234452c6 w
F fossil.go 97c979aa1f67680f9ab130f16eb7547dc1c372997636e426e1a136d62d190162 w
F fossil_test.go a76d7abbb42646826cb479cc47c8997fda0c598371e546591f3c71ca510d59b1 w
F go.mod 87eaaec297dcab176385e970eafc389a6809fe3c17f8b52b69405b5c859dc8cb w
F go.sum 4e8aeb120ad4b70d8d3628871b31211cd206ae0676afb96f6c99a0317cd35587 w
F go.work 8b3d9a07dbf8042509ed2f1db6cff10fb97a0cb73e3fb0db054cac033c095236 w
F go.work.sum a1c8c783965c7ae4ff8d01f99f29a5d9355f82fec09d0bd637f59b76ea34e2a3 w
F integration_cli_test.go e714302b06c214f8feca13c213195a1568839bad5e1458bb77720c455240302c w
F integration_test.go 662afffe1c44e8df05a6410d0a71a2a23ea3d153729792c76eecef0224103983 w
F internal/annotate/annotate.go 51fdf32a76053e478edfa9aa68d497f03b83550333bdb9a64bdae3773735d8ec w
F internal/annotate/annotate_test.go 93f770ebf94c6fa14e374d9ece0366af420c27c464d2f3bf39486d87de16c959 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 5560f880247954b9ae766278cfe5913abd0dbf906a21c932ac1213f57097f1d9 w
F internal/auth/user_test.go 2edec5fb3ed49f79dfb84225a14a4b635fc5d2711ae358bca55b73b66e0f85f8 w
F internal/auth/verify.go 67c358d62bed400d76c87665b6e6a18131a5d2faddb35664554ee155d76a89ca w
F internal/auth/verify_test.go 220607b5ac7e6c62036465f2f7b4359d9447ec047e0bac5b3fa7ac39afce920d w
F internal/bisect/bisect.go ea65da5cdd9e94a9562bf6d57020444984ed8089916138db7123de8a01364310 w
F internal/bisect/bisect_test.go 87875cd9d7dc945a03f98f16fa0c081031d77bd24f4d80b09f54618c04673226 w
F internal/blob/assert_test.go 88e527088574d435671eb4ecef3d0c3afe802e20bc2a535a801ef3a52e8caf34 w
F internal/blob/blob.go 3075e9e7438d27c4af6564673a3014ba12bacf058fcf8ddf992ef875a03a5a9b w
F internal/blob/blob_test.go b8d970fc8ba47d3f67490853eac62d41ec9149ef3cff7ca7b2144cd5992b932c w
F internal/blob/compress.go dc7b90e535b7654ac49fb41f71291ca647c8898520bc41440454e1024c56d53b w
F internal/blob/doc.go 7b5ab28603e1e3f03a62cf15a3432ed35bdef884dfba7070e637d5a212fff5a8 w
F internal/branch/branch.go 6dc365fae95a18b0a80211686547e49031046d6465d57a2939c9f438c8ef4978 w
F internal/branch/branch_test.go 6c12f43cf762c65c79a1452ffc963d22796a2a14d3a987a599757c71add57772 w
F internal/checkout/checkin.go eaed93478843a9d2a745a7e80392d26de269b6b453d800840c6b6b172e949ad2 w
F internal/checkout/checkin_test.go d8ab81ddee92d1ae295c216b51408e49421b1c4ecbda22673cb870d48f95283e w
F internal/checkout/checkout.go 14d5067d21d4bb757ebc9d036df498085754baa564c50dd7aef42abd70e902df w
F internal/checkout/checkout_test.go 3d3e0e33656440376001d2640f75d76772056c661fb916cab005cbdefe4e24fc w
F internal/checkout/extract.go 8ebaed0f2b40dabb4710223aa9e5549f589eca6cae889b23bebc1e4bc19f7251 w
F internal/checkout/extract_test.go f2e89ece2347ba89e001b9be009d4e96995255c9a95547c50907ba2af0f5bc89 w
F internal/checkout/fork.go cd32cce1d175c4d21219e513c6590de89a890495c65ade506080b2e20b0898be w
F internal/checkout/fork_test.go 89a5929981e159cd4ae7766ccdcc8e8b334fd3468a73dba19f40a74620a638f9 w
F internal/checkout/helpers_test.go b2b231cfb7a1535ff798c14366aa2c8e5718fd1d05c556fc6130c529640f25ad w
F internal/checkout/manage.go 8af18506d6c1d80248e8db6af15e8e683d4809780a0db934931569051a475491 w
F internal/checkout/manage_test.go ed6b5044b0c6ec13dac92f168d20ec7d33589605da5da363cb7a38fc894526fb w
F internal/checkout/observer.go 6880f6507cd931ebd2317ff60311a725d52270b557c182b0a4a05b835e574d9a w
F internal/checkout/observer_test.go 2466300cb07dd6adced781ad6c059572250f77b88002d16d308e9da53de86f19 w
F internal/checkout/rename.go 8d33645473358b3fffdaa300dfc154d877b2f46bdc7bc41f05730bc4ce6be35c w
F internal/checkout/rename_test.go ead80855efe9cd15cfa8c0038f9ebabf79171b43084c8dc613551095b0cfdb77 w
F internal/checkout/revert.go df6d1c08732515cbab8f455eb899ccbfe0cdd16bbbb5946962ef871a2305c60e w
F internal/checkout/revert_test.go 387ad7b249f694e4b0a5c0f55f67ab68a2f1808a45c004d9014d6683a075f092 w
F internal/checkout/schema.go c8056525affb72ab0df263120a969169206472c40967401d454ecc28c58cc60d w
F internal/checkout/schema_test.go 919b97436fefe2120004933a2747dc7dcc013dceadfc50f76e766ba729c4f70f w
F internal/checkout/status.go c6e01defee4c96b177b9c189f7ce649ad243c466872a68699836864df4ad8e50 w
F internal/checkout/status_test.go 3526ec2a6c90c5fe90ba4f2fc6656419f09499088288bb37383b90e7dc3e7984 w
F internal/checkout/types.go c59ddc48a11661bbc0205413bc064924abbbf4ee2b3d267e3b94251f18ad9fc6 w
F internal/checkout/update.go dca13a69a015d6f3c3e4fd83c10c0bc2fb85fafef697dc383f321d1252964087 w
F internal/checkout/update_test.go 1b49a59768a39f20a022ee109dd715e2a12bc71bb99a054eb9406e801b1d309e w
F internal/checkout/util.go b295ade97080c206713c7ae8b38433dd4e8251b91c72a80299430e012b416d38 w
F internal/checkout/util_test.go f7c7a34540730c428dd65b51c52808c7301902bd63d6f54b4ddc2f95c9196edb w
F internal/checkout/vfile.go dc4eee3d1ca3b38544b9b97549c291d14563822a44d272d6f0401dd5dff09656 w
F internal/checkout/vfile_test.go 3cf35c6c4dc995cc84de73e8af62aa4335a47ac702eb56278c7d83dc242e3e31 w
F internal/content/assert_test.go 03f9dedb5eb91524f9001de16c4b78ef03ced75683dbbd42a0a1eb29631e7038 w
F internal/content/cache.go b6c8cf703b013f6deec17e275eaca4e051473debfbea9f9bd80d5bf28ab81214 w
F internal/content/cache_test.go f252b26abcb418feb5a542c35fa9553093811f63d15a4e41485bf8a014680278 w
F internal/content/cluster.go 1087598118acb5f77cff5a34d91b4881cf6e6880e4eca2f9044cfadcd4ce6986 w
F internal/content/cluster_test.go e9a809f7b57b7e91820c13164f3566efcbb4b26b8bcb7b6496d137124cd8500d w
F internal/content/content.go 1f88c0f61d00a2d62a0a6450090bccad2c010216cce6fe6652825617f88be266 w
F internal/content/content_test.go f8da2bd0e263022be13abf41c65477dd495f5be55d733e12486c567a9c63c8e1 w
F internal/content/doc.go d4e65971ef0661ebbd6fac54854309f1c3bddde01642e6a9ec2fe214c8e1a1d7 w
F internal/content/private.go 904122f7502fab57b3909de837488b29eddc4427de1d83d44eb65201747d630f w
F internal/content/private_test.go ae796c652852db45a6f5ccd6cd52a856ee72bc0b1a58c8134f8056c38c40e2ef w
F internal/deck/assert_test.go 01cf720efe83a18194b0afaeffffa66067db35fe720ba4211888c3022852256a w
F internal/deck/deck.go fc064f82d218b6276530412d51cb99d767667c94b5ba2c20ece365f079002fe4 w
F internal/deck/deck_test.go 541202e06f51d9ddd6049b4796df8f9e8845bd97982176d0eda735595c1793cb w
F internal/deck/encode.go 6e39b68aea29c5ecd315f1eff21de67b73acc17826a3863cce041b7ed0dcbfac w
F internal/deck/marshal.go f4abe35e55403a111063d2bb5778f6293b104d15bacbdd066bac3eac4b7abd2d w
F internal/deck/parse.go 9c60d424e73af5d904d3cbf85b6086614cf2b1edfe1fefc768b60f504e499600 w
F internal/deck/rcard.go a7f9c1addcae6fd83474de2c971897eba5a787f4788973537deb13813d087268 w
F internal/deck/zcard.go 04180a498ae67552819c8b933ae4555c202f7083ecfb79f58d4e05380943c8cb w
F internal/delta/assert_test.go cf31f1117d52d13fd280f117b0f7a74245a3a07f602fa2763c376f2643b5a501 w
F internal/delta/delta.go d0868495d9e30f75abd1f56e04c9aabad45831e207ae4d7a81bdf4c974e70bbe w
F internal/delta/delta_test.go 3faa91e4d15915a4587390b5cb6782e4511ada6da0e432264bf53635323a11d3 w
F internal/delta/example_test.go e9e5d6f067c5f93c0e06825f99894e0a32e78f0d51ebefd65efd882e7ab495c5 w
F internal/delta/fossil_compat_test.go 9ffee783a28e06230ab780212e4ac078320d3ef97e269c8b16cf357280de844d w
F internal/diff/diff.go 5bce57f053d1e76a735c2506b5dfa63603ec7608d93ab02961a6b3b4d490125a w
F internal/diff/diff_fuzz_test.go 9e573bd1faf7d9e85d530285889bb23ae365fe274d420790d387679c8bbd2488 w
F internal/diff/diff_test.go 4fa6c564e2ec9220b5ce25a7159389c14b15a6ce48f63d6d900d0fde8e57c8fc w
F internal/fsltype/fsltype.go 20379d5b64769f160eaf5e1480394f1121a1405ed82bb21e8ef76ebe9eb4067a w
F internal/hash/assert_test.go f1fc842bc553b641a0fb5ca2e6df94d4a156b8d1f6b5b28f0e2c78808e3ac08f w
F internal/hash/example_test.go 30bc4b10018b0e9f9875d2be9b66efaf757ed4fd135a57189e994a3de1cf4f12 w
F internal/hash/hash.go adde80f5613398e8368a081c4b782c2314b48eed0e8cd16562354e6983fdee20 w
F internal/hash/hash_test.go 26bfc26d2a0972b080b8e2a78480cf134122aca0b3183a3979bbd7bcb6641268 w
F internal/manifest/crosslink.go e379e0e0f5bbe88037b4baf86b84a4746dffd8aa8b27890180614b9443655806 w
F internal/manifest/crosslink_test.go d9f54add3520fe33f3d23deba5ccbeacf09da6ce204b9b0a3e20f373a54893d6 w
F internal/manifest/dephantomize.go 77dbfc474a52fbda2d3551b05c34dbd43d74535fbbe9f3143db0c270a287f8d6 w
F internal/manifest/dephantomize_test.go 1e3b20746894cd591b3c02bf15befe7627647639f8b7f7a4a39e4ce7be4fffee w
F internal/manifest/files.go cd9db9fff838a0f5c3ab2b5bdec45f0611f93201b69ac97e61f0e8eac7b42385 w
F internal/manifest/finfo.go fb050861cf354227dd53ced1f0b86212ef2a73c283739588f74b308fd86c5660 w
F internal/manifest/finfo_test.go 793964b48d263a3a5b0d14449e44becdb8209f5827a8b10802f199e8f2a672c9 w
F internal/manifest/log.go 771dbe2503d21d16ad77cc32c5a333177be1c1cc78befe2aa7e73b590b154673 w
F internal/manifest/manifest.go 04048f1599b659c44fa74420f4be07f3d1a6c857b5789078c3b8a7501e4c2616 w
F internal/manifest/manifest_test.go 2ed8c75e3aef709aac839e6a164ec29fa9d5b92c9ebfba9ed70456e52f20adb0 w
F internal/merge/ancestor.go b06ad25c684a1737b79e353a1b71708a4da6a773cc718e95d9f41c810a2383de w
F internal/merge/binary.go d11808769e1dce87c77aff56c0d1d700137574f809f69b3667f6519f215ea711 w
F internal/merge/detect.go fcb4bd6886fb02e8f506dc1151b763d8713509bf1b6e59176c8406658d31986e w
F internal/merge/doc.go 42df37cabd38d36af29e4c86be1c96f794988e6cf31a86bb976bbed02face5ee w
F internal/merge/example_test.go 979a4eb47eb24cad6702d185f7f5a3d9fd40ffd3a4d02b6d911ed2e9af5f48be w
F internal/merge/fork.go c02ecbea8698a7df2d0a509dfbe14451fca83f387bd7e7d7b64a59756805110b w
F internal/merge/lastwriter.go c9c1e433b40e7c8afd86292c9afd21513c19dd1abb757f4d84e1d08b98d9e7ac w
F internal/merge/merge_test.go e85a3844f3e4795a7d4d2e33433ef1965faf9c10044161548e33cce7e6f364bf w
F internal/merge/resolve.go b3bcf469680ee3ebbd6b345df277fc482e0e6e8fbf4e131c39f3d4dcb2e217a8 w
F internal/merge/strategy.go 05215b0c50e46be400e15c661a92b5ec8fb7f4035b227ac5d4c01fbdcbc486fc w
F internal/merge/threeway.go 7dd2f3fb4e3b93463feff3865d873160379291717a4025aa860c9a059a276d36 w
F internal/merge/threeway_test.go 8044a7e9384860f12d96f123cc055bf56e1f2b8fa24e731433dbbe35351f0043 w
F internal/path/path.go 34ce3811874556ff7a23df99e44e3a7b02b753d1bb1172bd62889211ab1650a5 w
F internal/path/path_test.go f435bd21b38b16f58e3ebc9bd15c54bae04a9336c8fd01d6325c3dced38c293c w
F internal/repo/doc.go 108b1f68f19fb95e3b565a9273625ebe1529ddbe7f7bd92027a1d6a198658442 w
F internal/repo/repo.go 820cf7e60332497bdcf8220b0135391cfda72ee04f8ac922a80c73bfc4a0e789 w
F internal/repo/repo_test.go 78f31b9f2a967c95215006748b62143d6a5d0cffa91f5c55faaed27f4f198af1 w
F internal/repo/stat_default.go 40de143f088783a61eaebce2352030752672f14daa1a47569f6622a6dfe6f83e w
F internal/repo/stat_js.go 78cdd7a120f16a9927d7666b9935785293276625b77f91b6e929d15296e7d072 w
F internal/repo/tablesync.go b3c2e3581c8df2b734807049749554945ec8390189f7cd015460deb836f4f5b2 w
F internal/repo/tablesync_test.go 84a708c6edf1c7a8707107f1ca5ff051c96c9344976d90ca0adbdf21e78732af w
F internal/search/index.go fc7694ca546fdfab8184e5cb0e7276c7cd00cd264b0aaea1f2e791c26fb6515d w
F internal/search/query.go 8568cd4049db9b2d7213c593cefd8350e8204d2ddb34241c5d9c23ce15bfcdbc w
F internal/search/search.go 099776002c6c6d29d8681a388d492bbb1c09d7e5cc322faab880eb09191297aa w
F internal/search/search_test.go 933f8b2c488469a5d6fb7ac19076c5d1af421d4903cdddba3f5083380518c68b w
F internal/search/trunk.go 8a828cb6103dee875fca2acf3ff6fee46035c790f7eec3e943b3f722c7518e53 w
F internal/shun/purge.go e218dfe5b55b8b59c6eed735f2d89b511a0295c255c1be8253050a1d0eef856a w
F internal/shun/shun.go eef8d64c743e7bb2595002fc4e56e903c4e1a7c791979fa8d05b1fb00b31e1c8 w
F internal/shun/shun_test.go 2ebe5a003fb80dbfb85c18fd27646860312ad8b22b15aeab50f9672fb05662e3 w
F internal/stash/stash.go 9f17c11dd6344325890a40c35053767b14921e217573713e725737896157fc70 w
F internal/stash/stash_test.go b3c81cb0d3673114d953edf9a0860fad264ffddcd6043ae9cb51321eb3c3f382 w
F internal/sync/auth.go 75b38460fcf09012c653cbee856f07c5a7a3062e8db3dd561b7c40b41b3b399a w
F internal/sync/ckin_lock.go fed9a00a552e4537c0c8ddcb7719fd7075f06240a4628c4031cde1e27c38c463 w
F internal/sync/ckin_lock_test.go 83aadeaacbc633a88125d75c58ab594cb1bf309f52b04f50588c885e9de3f50c w
F internal/sync/client.go 0bdae93812d2cb9573f798072e383db56ed7a899efe0963c80016ad66aa62984 w
F internal/sync/client_tablesync.go 4fe87f283a46a3fd57941cb484d81ea3b31d1952ec874de1f05e1325440dfbbd w
F internal/sync/client_tablesync_test.go 635b4ff652ddd0cf9d3f332a0e5cf3907f23d1133ab2c3ecd9b80181225bdd4d w
F internal/sync/client_uv_test.go 1a9ac92a9d839eab56a6f62d00eb6fe2cafcee428ccea7b8c43a53bd06366f15 w
F internal/sync/clone.go 848679eb623dec7b9c838835e505cc59a3e4a0ee308e7b40a1af8df1c87b5639 w
F internal/sync/clone_test.go 56006883f095532dea59e58b132bea72ad2497d33ee6d978322a25989fe325cf w
F internal/sync/cluster_integration_test.go 6e4e479f50dfb58d2ea2bec27501d8dd5caed63762641de2339d73b6f5e59952 w
F internal/sync/doc.go 1bfe570fa95c6818d00e788d5868ccc98919eeb4e839e125a6158b3873d1f095 w
F internal/sync/handler.go fb02d04ee61146b75db7bf1753007f91c9419470ec91f8d425cd049705844b1b w
F internal/sync/handler_crosslink_test.go 7f512544bde6ba52a5007d1647532341c2141ee5e6f7c28effa77678015bf462 w
F internal/sync/handler_tablesync.go e8b1808f24a8d30af5d68f71bcfd68d1353865ddd384af582e813695401760ee w
F internal/sync/handler_tablesync_test.go 615c54ee4b2ae118eba3173c7e3c2d6c0771e7d21db2eb32b943386cb4effb50 w
F internal/sync/handler_test.go d3ea4a8ff289256389e3c73dd3cda632370f2188108d9fc41f496c74de5cae16 w
F internal/sync/handler_uv.go 537901157b7a35af627b9bf550156f36a6f94cf355145621d9ed346f64a47491 w
F internal/sync/handler_uv_test.go 5fd81e71593dcd6aacd4f9c4c5ab43bcd47a3d8db763bb2010cf7f97cd1af288 w
F internal/sync/integration_test.go f71db7f023b5bdd7a416b36f3e00b14982aaa5755b97af3e5599e2ef8b6ade00 w
F internal/sync/observer.go f14b94f4ce60925b295779fe897b036e085897b4c869011421eaa6c03df8fed8 w
F internal/sync/observer_test.go ceddab7475fa249cdc339495ab3ab81c6efd91d57971ee78e92dff3844438ba7 w
F internal/sync/private_test.go bf0d75d0b0d00cb727a8cf93d2f1aae498fa198627e35850f5b2296ca3d8f125 w
F internal/sync/serve_http.go e5b9721a8e2b6e7b4271ee990299add9d998621fd55c69cf36e1c58e5c704507 w
F internal/sync/serve_http_test.go 1aecd2b44ef76cab3a4ddc94103b8d0584b03299292cee0dbf072bc1cd529f3e w
F internal/sync/session.go 449d484d95ab1d5992de9f6283814d22816b8b9aec811b40729f694e6c41fad2 w
F internal/sync/stubs.go 3aa8e17d7112ac7d9f7ef8a460f190d871035b446260caad4f6b29034e3afb38 w
F internal/sync/sync_test.go bdb11faff70b6b9ed96fb806a62f8f2a1b2db2c91c0001fb576a97b19c6ab39e w
F internal/sync/transport.go 9658cace791c904a43235fff107d4fed421558dd0e39cfc00e1d7d9fa784b2c4 w
F internal/sync/xdelete.go f0d07e359f07e8007785f50cf47f39e19edb49917431e8ff56681c362237e325 w
F internal/tag/propagate.go 6322131f155037e598908f1199046a08c2b6f222b17044af18698d0733781479 w
F internal/tag/tag.go 400816317a49557b1baef964a1a9368fd56da06daf8a350c611267a7b100d006 w
F internal/tag/tag_test.go a6c4b0396f1536a719b47ea5337da757ccdf59171eed96bbe882671707707503 w
F internal/testdriver/modernc.go 3f5fab78a35aec71a9ecf43616fde7708e77608415f58d890206574607cc6803 w
F internal/testdriver/ncruces.go 4ebbfe1f48ddc92a8e7eaabcce3187edc6ac88c425e832ee12c43a8ab0c7903a w
F internal/undo/undo.go ee2d8a12aee06cc21fe5a059dd2abd736f4266ea2ff35b33cfef2569513115a6 w
F internal/undo/undo_test.go b36aec578818a0027be94adf502aba9a7ae5cda5bb7c1b347f977dcef7a22a78 w
F internal/uv/status.go 585384ea2e1e0b39f21202015245b06a221e88b2d2176e06e4d002bf20559b8d w
F internal/uv/status_test.go 16cbe804eea490a562206261a3944e202b8b78e187508ab31c7f2f6b092a9056 w
F internal/uv/uv.go 5833cfb13ec38500b4337b09c6285e334a8ad3ee990ca1ab402b1335c9597f9a w
F internal/uv/uv_test.go 522bc4c5849554646758269027fea8ce4bb33d0f948dd0da58a47648e0de694c w
F internal/verify/check_blobs.go 058e24341c37bfc73260bf12cefb108facbe970dac5229a945282341106a1150 w
F internal/verify/check_derived.go d3cf7d6355f157349a0e27e027d3bde8a6c95f6ba05fbf5876a49556e3b9797a w
F internal/verify/check_structure.go 3e84c0372f731d8be4964aa226c4cee5b7d2c0c534e1208e75896b1791c1f85f w
F internal/verify/rebuild.go 083c590d36c34b1a01291e799282c48f5a1ef53c89e9f574c9c9a49da371f8da w
F internal/verify/rebuild_leaves.go 9496044142037f4e5db6b9da589625be6b321ff7419dfe0753f6511f8bf1f177 w
F internal/verify/rebuild_manifest.go 3d7a9782b96baed7be61ce40216d48f867d2d2d982cb6ef74ae5482e25549f81 w
F internal/verify/rebuild_tags.go f5f0ebab1655e90770def744b685ccfa7e92bac3b5d2461a676621af9833a3c2 w
F internal/verify/verify.go 981e99428f063acd7ff47d597a2225f7bf2b9f83cf4166cb11891daeda3c9ccb w
F internal/verify/verify_test.go cf1a929542b918a3906e5a72c6a03c50675b79f54e12ee800c9122e8169cf891 w
F internal/xfer/card.go a41d15cdf29424e68cfbb8a33e829126d595bee8311f4aade3f28dbe8a8afea0 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 cc44298247515640268f00ae115f2911eb82bd8b23593e7f49644a2b0c889ac0 w
F internal/xfer/decode.go 7b05121fe7b20831991d2c443cf2e914b75996636cba8c693164064b46afe5ca w
F internal/xfer/encode.go f9a59c8b8e51ff70fdb30aad866b8874e51bc0bd3717e966ee757f504e5e7f13 w
F internal/xfer/example_test.go bb1eb70f6ed6a96a9b50c2289a333ad619844928b50f1c4ce7936a15b539a60a w
F internal/xfer/message.go 74a946854dd27b139410545ac5cf3d3be6b6af45bf957f3a4243580ae1e72791 w
F internal/xfer/message_test.go c00c8c8bfb5d5b992243dc819161ff974e7e8f6a0b2999344d77ab7c46ef8232 w
F julian.go 3644e82a37176d5db154ca111241bdb2f25e76f343a7a26b243e959a52e59a76 w
F julian_test.go 68dc929b656dad6828fa01ef63f4b8c394c1f002b4828389aba7c7e1deb9f001 w
F observer.go 43fc547a68bc1ca5b6e742a666e90c6d58dc7aa2e7a90bf28dff7cc54fafb6f3 w
F observer/otel/go.mod ea3ebc4b5614b284606099d7071d31cfe5beff804a6f28822936a09c83d29f07 w
F observer/otel/go.sum e90b3a405e38a45c3d1c16cba4e761750453886804d41b5172979b0cba586e58 w
F observer/otel/otel.go 38337615dd3b5af4d000f477e3badb6dc0580032d3e58d1ed446f05d6092d020 w
F observer/otel/otel_test.go f31d8187bcd45ca13d2d664d6f543c3baed96f6bf66b94837c07aa1c8f8526b0 w
F observer_test.go 8811bbc50bb75cf382843d02df96f50926d13e8a4fafbe038b6d9183b46a555b w
F repo.go ee5ab7354c20e9e43f7e002a3e76981afd348e274b37e3a536f4776d841c2b8f w
F repo_admin.go c0d1cf6f525832f4c75b5f2770624ee447cd287def3f928fc59487c5823b98d6 w
F repo_checkout.go a44aa5963c66111aa0f5dcd40da26a9eddfc81a797451b70f0cc0cd7ea62ad30 w
F repo_checkout_test.go 083fcf1a717b83ef59e77dca7da1495538d871a29f95361f61de8a1a3f44c72c w
F repo_extras.go 9879abbdf4a07cef8d4759007f46153947a58f99343dc8bed256dae8a9536fc0 w
F repo_extras_test.go d7de3e8afbfc59bc3ed54d7c72abc1810a1fc7e97a8d37933994787553ae07e8 w
F repo_history.go 45be56ec76c3abf6b06f7fe1d819fa3c90dd8a8cf6b4216f466743c7cd8beb7d w
F repo_history_test.go fa1a584372da9feec32d3e13cf0abe5c4abf0c2e66e84d8471941674bfe79d40 w
F repo_merge.go 07896e26c0dd7287db08ec509d6e8063c3bd2390d9457d5a12b6076a05d71978 w
F repo_merge_test.go 86039f09774628f3944a2fd16bdc7291f2ffcbeca43a8e0514ea43cd1197c75a w
F repo_pull.go 3566654c2d28275a29478587a3dd8a273e945c6d1b9b1f2fb882f82fcbdf77d8 w
F repo_pull_test.go bb10cf4188114bf94ea13fcb2d80894184b4cfe237ce8603aae5586f6e95cd2e w
F repo_sync.go cc78b2a7662f8fbcc5c9d1e130b011d56a9631c27585ecfcc40b977af1540bba w
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 c71090c89cddbb07cbba5d148de5c5189ee3a9cea7ce9cb3560c228d51bea676 w
F testutil/testutil_test.go f522d077f2f2e736f644196dd87564eb4245d5528f412ed7457461ad8da4e543 w
F transport.go 91e6d6e3d19649ba1e9fc2a88046129fb3f073b7a6413bd00dd37e02b39e1274 w
F transport_test.go 30e0c5e29f58a9afd7197930d5d85f59f72244b6cfc41ed6f068ffbf5f5bceab w
F types.go ce60e78be38b0623f61730a4516d58059a97fdcf5bf7859c930b752b48b94cd1 w
F types_test.go 7e000480ba2f610043ed25467d9d7ecd3abac88010b7037f4c5bd1c82c9062c1 w
P c9c7dbe3d383341aa9b6ac98b03dde7fe86ab49c8a122356c95418638d9095e4
U [email protected]
Z 1ea72159980bca9c9f9c7a183570ba10