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

Check-in [f747958447]

Overview
Comment:feat(attachments): add, delete, list and read attachments as fossil does

AttachmentAdd, AttachmentDelete, Attachments and AttachmentRead write and read the artifacts fossil 2.28's attach.c writes: the file as one ordinary blob and an A C D U Z control artifact naming it, a deletion as an A card with no source. Targets are a wiki page's exact name or a ticket's or tech note's id or unique prefix; a name two kinds answer to is refused.

AttachmentAddExternal stores Quarry RFC 0016's stub in place of the bytes, with the mimetype on the N card; list and read report the reference and never hand the stub's text back as the file.

Timelines: family | ancestors | descendants | both | main | trunk | feat/attachments
Files: files | file ages | folders
SHA3-256: f747958447f9ba1af1908a0ba404f615dbdb1b831d179e6f9d7bdee00d6c0268
User & Date: [email protected] on 2026-10-29 00:10:09.000
Other Links: branch diff | manifest | tags
Context
2026-10-29
00:15
fix(attachments): stamp each attachment write after the latest for its name

A default-time deletion could share the addition's millisecond, leaving both rows latest: the deleted file stayed listed but could not be read. A synced attachment stamped in the future made a default-time deletion a silent no-op. Every write is now stamped strictly after the latest for its name -- now, or a millisecond after it -- and an explicit earlier or equal time is refused, for additions as for deletions.

The ambiguity error names the kinds that matched, and an external name of "." or ".." is refused up front. leaf check-in: cfc0ab51e8 user: [email protected] tags: feat/attachments, main, trunk

00:10
feat(attachments): add, delete, list and read attachments as fossil does

AttachmentAdd, AttachmentDelete, Attachments and AttachmentRead write and read the artifacts fossil 2.28's attach.c writes: the file as one ordinary blob and an A C D U Z control artifact naming it, a deletion as an A card with no source. Targets are a wiki page's exact name or a ticket's or tech note's id or unique prefix; a name two kinds answer to is refused.

AttachmentAddExternal stores Quarry RFC 0016's stub in place of the bytes, with the mimetype on the N card; list and read report the reference and never hand the stub's text back as the file. check-in: f747958447 user: [email protected] tags: feat/attachments, 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