Skip to content
go-libfossil Check-in [c36a69e366]
Login

Check-in [c36a69e366]

Overview
Comment:fix(sync): end card processing when a pushed file fails its handler (#402)

* fix(sync): end card processing when a pushed file fails its handler

sync-protocol-01 Section 5.2 has a file or cfile handler failure reset the reply, send the error and stop parsing, as fossil's xfer_accept_file path does. A wrong hash, a bad HASH or DELTASRC and a storage failure now break the card loop; a file delta with a held basis is verified before it is stored (Section 7.5).

Tracked in #390.

* fix(sync): model a bad file name in the clone-fatal probe

Tracked in #390.

Timelines: family | ancestors | descendants | both | main | trunk
Files: files | file ages | folders
SHA3-256: c36a69e36678d69d05ed3a9753299049f11538d28f387ff2ecf86fd20ac6761a
User & Date: [email protected] on 2026-10-13 07:12:23.000
Other Links: branch diff | manifest | tags
Context
2026-10-13
07:19
fix(sync): reclassify held artifacts and phantoms from igot (#403)

sync-protocol-01 Section 7.5 has a pushed igot reclassify what the server holds: public igot makes it public, igot HASH 1 private, the latter from a requester without x too, where it still makes no phantom. This matches page_xfer's content_make_public and content_make_private.

Tracked in #391. check-in: 5004d66398 user: [email protected] tags: main, trunk

07:12
fix(sync): reclassify held artifacts and phantoms from igot

sync-protocol-01 Section 7.5 has a pushed igot reclassify what the server holds: public igot makes it public, igot HASH 1 private, the latter from a requester without x too, where it still makes no phantom. This matches page_xfer's content_make_public and content_make_private.

Tracked in #391. leaf check-in: e245232360 user: [email protected] tags: trunk, fix/391-igot-reclassify

07:12
fix(sync): end card processing when a pushed file fails its handler (#402)

* fix(sync): end card processing when a pushed file fails its handler

sync-protocol-01 Section 5.2 has a file or cfile handler failure reset the reply, send the error and stop parsing, as fossil's xfer_accept_file path does. A wrong hash, a bad HASH or DELTASRC and a storage failure now break the card loop; a file delta with a held basis is verified before it is stored (Section 7.5).

Tracked in #390.

* fix(sync): model a bad file name in the clone-fatal probe

Tracked in #390. check-in: c36a69e366 user: [email protected] tags: main, trunk

06:42
fix(sync): send the clone reply and cluster igots in place (#401)

page_xfer writes the clone batch, its catalog, clone_seqno and push card at the clone card and the req-clusters igots at the pragma, so any later reset discards them (sync-protocol-01 Section 10.1). They were sent after the card loop and survived a bad command or refused push. The clone snapshot cookie is now read ahead of the loop.

Tracked in #389. check-in: 65783dbd3e user: [email protected] tags: main, trunk

Changes