50 descendants of 366ee2d629d1b60b
|
2026-07-15
| ||
| 20:02 | Merge section 7.4 delta reception onto trunk: reconstruct delta-form file and cfile cards against their basis with pre-store hash verification, defer a dangling delta in the pending queue and complete the chain to a fixpoint when the basis arrives, so an incremental pull of fossil's delta-encoded manifests converges. check-in: ea53cd3983 user: dmestas tags: trunk | |
| 19:57 | Reconstruct delta-form file/cfile cards against their source per sync 7.4: apply an immediately-available basis with pre-store hash verification, retain a dangling delta in the pending queue while creating the source phantom and marking the target content-received, and complete the chain to a fixpoint when the basis arrives, so an incremental pull of fossil's delta-encoded manifests converges check-in: 890cf58924 user: dmestas tags: cli | |
| 19:30 | Merge trunk back onto cli after incremental-pull interop, aligning for section 7.4 delta-file-card reception. check-in: 6ca2645a09 user: dmestas tags: cli | |
| 19:29 | Merge incremental-pull interop onto trunk: pull and push carry the repository's stored project-code so a real peer accepts the request, and serve re-reads the on-disk log to its committed end per request so a live commit is advertised without a restart. check-in: bca7dec889 user: dmestas tags: trunk | |
| 19:26 |
Send the repo's stored project-code on pull and push, and serve the current on-disk log per request
The pull and push operation cards hardcoded the all-zero projectcode placeholder, which a real peer refuses (a sync projectcode mismatch must be refused); load the adopted code from the repository config the way serve already does and thread it through pullRun/pushRun so the request carries it. Separately, serve read the repository once at startup, so a check-in committed while it ran stayed invisible until a restart; re-read the on-disk log to its committed end per request so a live commit is advertised without restarting the server. check-in: aa601128eb user: dmestas tags: cli | |
| 18:53 | Merge trunk back onto cli after bidirectional clone interop, aligning the branch for fossil pull/push round-trips. check-in: c4c1538a5f user: dmestas tags: cli | |
| 18:50 | Merge the section 5.1 cfile trailing-LF padding onto trunk: consume and emit the padding LF that follows a cfile payload not ending in LF, so a clone interoperates with fossil's receiver and sender in both directions. check-in: 74a689d116 user: dmestas tags: trunk | |
| 18:48 | Consume and emit the section 5.1 cfile trailing-LF padding so a clone reply interoperates with fossil's receiver and sender in both directions check-in: 8068804e51 user: dmestas tags: cli | |
| 18:22 | Merge trunk back onto cli after the fossil-clone-completes milestone, aligning the branch for the remaining interop directions. check-in: 76f8219646 user: dmestas tags: cli | |
| 18:20 | Merge the clone configuration phase onto trunk: answer reqconfig with no error per sync 9.3, derive a real per-repo project-code carried in the clone reply push card per 9.1, so a real fossil clone from zit serve completes past the configuration phase. check-in: cba2256e95 user: dmestas tags: trunk | |
| 18:18 | Give every repository a real project code and answer reqconfig without erroring, so a fossil clone completes past the configuration phase check-in: 8ae44adff8 user: dmestas tags: cli | |
| 17:39 | Merge trunk back onto cli after push, aligning the branch for the fossil interop smoke. check-in: b6f1e470be user: dmestas tags: cli | |
| 17:39 | Merge zit push and server persistence onto trunk: pushed artifacts are durably appended to the served repository's log store and zit push sends local content the remote lacks until section 3.7 termination — clone, pull, and push now all round-trip over HTTP. check-in: c50b1f6e7e user: dmestas tags: trunk | |
| 17:36 | Persist pushed artifacts durably into the served repository's log store and add zit push to send local content the remote lacks until section 3.7 termination check-in: 253465c64a user: dmestas tags: cli | |
| 17:17 | Merge trunk back onto cli after pull, aligning the branch for push and server persistence. check-in: 9f8e395b86 user: dmestas tags: cli | |
| 17:17 | Merge zit pull onto trunk: pull opens a transport to a remote and runs the sync driver over the current repository to fetch and persist newly announced artifacts until section 3.7 termination, proven by an incremental pull over HTTP after a clone. check-in: 177eb879cd user: dmestas tags: trunk | |
| 17:15 | Add zit pull that opens a transport to a remote and runs the sync driver over the current repository to fetch and persist newly announced artifacts until section 3.7 termination, proven by an incremental pull over HTTP after a clone check-in: f1dcbc8a57 user: dmestas tags: cli | |
| 16:59 | Merge trunk back onto cli after the uncompressed clone reply, aligning the branch for pull and push. check-in: 563c9b7ddd user: dmestas tags: cli | |
| 16:58 | Merge the uncompressed clone reply onto trunk: the clone response is sent as application/x-fossil-uncompressed with no outer container per sync 8.1 and 4.1, so already-compressed cfiles are single-compressed and interoperable. check-in: a3557b5106 user: dmestas tags: trunk | |
| 16:56 | Send the clone reply as application/x-fossil-uncompressed with no outer container per sync 8.1 and 4.1, and capture the reply Content-Type before the body stream invalidates it, so clone cfiles are single-compressed and interoperable rather than double-wrapped or misdecoded. check-in: aa153192f3 user: dmestas tags: cli | |
| 16:37 | Merge trunk back onto cli after multi-batch clone, aligning the branch for the clone reply compression check and pull/push. check-in: 0d14cb4f26 user: dmestas tags: cli | |
| 16:36 | Merge multi-batch clone continuation onto trunk: the client threads the section 8.2 clone_seqno cursor across successive cfile batches until exhaustion, so a repository larger than one batch clones in full. check-in: 378073c233 user: dmestas tags: trunk | |
| 16:33 | Continue a clone across multiple cfile batches by threading the section 8.2 clone_seqno cursor so the client requests successive batches until the server signals exhaustion, so a repository larger than one batch clones in full check-in: 8d249bc3a5 user: dmestas tags: cli | |
| 16:16 | Merge trunk back onto cli after the working clone, keeping the branch aligned for pull/push and the multi-batch clone continuation. check-in: 887b9b0859 user: dmestas tags: cli | |
| 16:15 | Merge the working sync client onto trunk: the round driver, the clone verb, and section 8 server-side clone, so a fresh zit client clones a full repository from a zit server over HTTP with the cloned store's artifacts equal to the origin's. check-in: 4ca4a718e8 user: dmestas tags: trunk | |
| 16:12 | Answer the sync clone operation in Server.respond by paginating the repository's artifacts by RID into cfile batches with the section 8.2 clone_seqno cursor to exhaustion, so a fresh client clones a full repository over HTTP check-in: d383eb0084 user: dmestas tags: cli | |
| 15:42 | Add the zit clone client — the clone verb driving the sync round loop over the HTTP transport and persisting received artifacts into a fresh repository — and fix transport.exchange to drop a read error the socket path cannot emit; the clone-against-itself e2e is present but skipped pending server-side section 8 clone support. check-in: 7d88a407ed user: dmestas tags: cli | |
| 15:03 | Add bounded sync round driver pumping buildRequest through a transport to consumeReply until section 3.7 termination, converging the local store against a peer under an explicit round-limit guard check-in: d9aebe9520 user: dmestas tags: cli | |
| 14:27 | Merge trunk back onto cli after zit serve, keeping the branch aligned for the clone/pull/push driver. check-in: 7e7c24630e user: dmestas tags: cli | |
| 14:26 | Merge zit serve onto trunk: a single-threaded HTTP server answering application/x-fossil sync requests by decoding the container, calling the stateless Server.respond over the repository store, and returning the framed reply. check-in: 55072db7c8 user: dmestas tags: trunk | |
| 14:24 | add a single-threaded zit serve that answers application/x-fossil sync requests over HTTP by decoding the request container, calling the stateless Server.respond over the repository store, and returning the framed reply, per sync section 4 check-in: ed3a558990 user: dmestas tags: cli | |
| 14:04 | Merge trunk back onto cli after the transport module, keeping the branch aligned for the sync driver and server. check-in: ea8dee72d5 user: dmestas tags: cli | |
| 14:03 | Merge the CLI-layer HTTP transport onto trunk: an open/exchange/close boundary carrying uncompressed sync bytes over the Fossil zlib container with section 4 redirect and downgrade handling, so a later ssh or file transport is a mechanical wrap. check-in: 1da24fb857 user: dmestas tags: trunk | |
| 14:01 | Add the CLI-layer HTTP transport that frames a sync request as the Fossil zlib container, POSTs it as application/x-fossil, decodes the reply, and honors the section 4 redirect and downgrade rules so the sans-IO client can exchange over the wire. check-in: 2d75dae647 user: dmestas tags: cli | |
| 13:41 | Merge trunk back onto cli after integrating the sync DST, keeping the branch aligned for the transport phase. check-in: 871d2f829c user: dmestas tags: cli | |
| 13:40 | Merge the sync SimNet DST onto trunk: the scenario generator and two-phase sweep proving buildRequest/respond/consumeReply converge and reach section 3.7 termination under injected network faults once the wire heals, with section 7.5 privacy held. check-in: 465f71abfe user: dmestas tags: trunk | |
| 13:37 | add the two-phase sync SimNet sweep driving buildRequest/respond/consumeReply through the fault-injecting network and asserting convergence, section 3.7 termination, and section 7.5 private-content invariants hold after the wire heals, wired into zig build dst check-in: 43f37d1f7f user: dmestas tags: cli | |
| 13:06 | add a seeded generator of two-endpoint sync scenarios: pre-seeded client and server stores with held, phantom, and shared artifacts plus a bounded per-link fault profile, so the sweep can replay any exchange from its seed check-in: 3c6945c120 user: dmestas tags: cli | |
| 12:52 | Merge trunk back onto cli, bringing the cov step so the branch carries the integrated tip for the next transport step. check-in: 8c3ef76441 user: dmestas tags: cli | |
| 12:51 | Merge the SimNet packet simulator onto trunk: a tick-stepped two-endpoint network with seeded delay, drop, dup, and payload-derived corruption, so the sync sweep can replay any fault schedule from its seed. check-in: ea810169a8 user: dmestas tags: trunk | |
| 12:49 | Merge the out-of-band cov step onto trunk so merged kcov line coverage is available via zig build cov, outside the commit gate. check-in: 629b041148 user: dmestas tags: trunk | |
| 12:45 | Add a tick-stepped two-endpoint network simulator with seeded delay, drop, dup, and payload-derived corruption, so a retried delivery corrupts identically and the sync sweep can replay any fault schedule from its seed. check-in: 7d1ec5b267 user: dmestas tags: cli | |
| 12:42 | Add an out-of-band zig build cov step running merged kcov line coverage over the unit-test binaries filtered to src, so untested code surfaces mechanically without entering the commit gate closed check-in: 0059783eff user: dmestas tags: kcov | |
| 12:31 | Merge trunk back onto cli after integrating A0, keeping the branch aligned for the next transport step. check-in: ff95ec1f7f user: dmestas tags: cli | |
| 12:31 | Merge transport A0 onto trunk: the sans-IO Client.buildRequest and stateless Server.respond, so a client and server converge over buildRequest/respond/consumeReply per sync 3.7/3.8 — the send/answer halves the network transport and simulator will drive without owning IO. check-in: ccfb360f59 user: dmestas tags: trunk | |
| 12:28 | Answer a sync request from ArtifactStore state with the stateless Server.respond, verifying login, ingesting pushed files, satisfying gimmes with content, and announcing holdings and phantoms, so a client and server converge over buildRequest/respond/consumeReply per sync 3.7/3.8 without either owning IO check-in: e4eb6ea8e7 user: dmestas tags: cli | |
| 12:05 | Compose sync requests from client and store state so the transport and simulator can drive the send half without owning IO: buildRequest emits the version pragma, an optional body login, the operation cards, an igot per holding, a gimme per phantom, and a file per queued send per sync 3.2. check-in: e6975d1870 user: dmestas tags: cli | |
| 11:08 | Merge the store count primitive onto cli so the sync request/response composer can enumerate the store. check-in: 76bf611f9d user: dmestas tags: cli | |
| 11:07 | Add a count query to the ArtifactStore boundary returning the entry total, so a sync peer can walk the dense 1..=count rids and classify each as held or phantom to announce its holdings and request what it lacks per sync sections 3.2 and 3.3. check-in: 4c38e8fbd6 user: dmestas tags: trunk | |
| 07:00 | Merge trunk back onto cli after integrating the query slice, so follow-on transport work builds on the aligned tip. check-in: e791084496 user: dmestas tags: cli | |
| 06:59 | Merge the repo-state query slice onto trunk: the leaves, branch, tag, and info commands over a shared read-only repo-view loader, exposing the finished repostate engine through the CLI so a user can inspect leaves, branches, tags, and resolve names without a write path. check-in: 366ee2d629 user: dmestas tags: trunk | |