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

Check-in [bd2efd6d5a]

Overview
Comment:feat(sync): per-store artifact size budget on the receive path

HandleOpts.MaxStoredBytes (internal and public) caps how many bytes one pushed artifact may occupy in blob.content as stored: a cfile card's stored form, otherwise the blob.Compress form of the file card's payload (the delta for a delta card). A plain payload whose compression bound fits is not compressed just to measure it.

An artifact over the budget fails the request (h.fail): one error card naming the hash, stored size and limit, plus the file name and check-in when a crosslinked check-in already lists the phantom. The request transaction rolls back, so nothing from the round is stored and FilesReceived is 0. Stock fossil 2.28 prints the error on push. 0 keeps today's behaviour; clone and pull serving are not limited.

Related to #459.

Timelines: family | ancestors | descendants | both | main | trunk | feat/receive-size-budget
Files: files | file ages | folders
SHA3-256: bd2efd6d5abab57278bb020409326693ed7f5f7a0ffe8bcea8ada8dfb5d693cc
User & Date: [email protected] on 2026-10-29 00:01:09.000
Other Links: branch diff | manifest | tags
Context
2026-10-29
00:42
Merge remote-tracking branch 'origin/main' into feat/receive-size-budget

# Conflicts: # CHANGELOG.md check-in: 767f64016a user: [email protected] tags: feat/receive-size-budget, main, trunk

00:01
feat(sync): per-store artifact size budget on the receive path

HandleOpts.MaxStoredBytes (internal and public) caps how many bytes one pushed artifact may occupy in blob.content as stored: a cfile card's stored form, otherwise the blob.Compress form of the file card's payload (the delta for a delta card). A plain payload whose compression bound fits is not compressed just to measure it.

An artifact over the budget fails the request (h.fail): one error card naming the hash, stored size and limit, plus the file name and check-in when a crosslinked check-in already lists the phantom. The request transaction rolls back, so nothing from the round is stored and FilesReceived is 0. Stock fossil 2.28 prints the error on push. 0 keeps today's behaviour; clone and pull serving are not limited.

Related to #459. leaf check-in: bd2efd6d5a user: [email protected] tags: feat/receive-size-budget, main, trunk

2026-10-28
23:01
Merge pull request #520 from danmestas/feat/demand-fetch-reads

feat(horizon): targeted demand fetch for reads below the horizon check-in: c63cab2f36 user: [email protected] tags: main, trunk

Changes