Skip to content
go-libfossil Check-in [9fbe647b7f]
Login

Check-in [9fbe647b7f]

Overview
Comment:fix(manifest): reject a non-baseline as a delta manifest's baseline (#275) (#322)

ListFiles took any parseable artifact named by a B card as the baseline, so a delta manifest or a control artifact produced a partial or empty file set. Sections 4.7.3 and 8.3 require the target to be a baseline manifest: a checkin with no B card of its own. ListFiles now returns an error otherwise.

Timelines: family | ancestors | descendants | both | main | trunk
Files: files | file ages | folders
SHA3-256: 9fbe647b7f5487d387f21c2cc354c265a3186a134fbd8b6c465055b5c2b2bcf5
User & Date: [email protected] on 2026-10-11 23:44:10.000
Other Links: branch diff | manifest | tags
Context
2026-10-11
23:54
fix(hash): default to sha3 when empty and persist the auto promotion (#274) (#323)

With no hash-policy row, NamingFor now follows fossil's hname_default_policy: sha3 if the repo holds a SHA3 artifact or no SHA1 one, auto otherwise (7.2). hash.PromoteFor, called by blob's single row writer and by sync's received-content store before an artifact enters, writes hash-policy=2 when an auto repo takes a SHA3 name (7.4), as content_put_ex does, so fossil opening the repo sees the promotion. A row still saying auto next to SHA3 artifacts, from before the promotion was written, keeps deriving sha3. check-in: cc76fd023f user: [email protected] tags: main, trunk

23:44
fix(manifest): reject a non-baseline as a delta manifest's baseline (#275) (#322)

ListFiles took any parseable artifact named by a B card as the baseline, so a delta manifest or a control artifact produced a partial or empty file set. Sections 4.7.3 and 8.3 require the target to be a baseline manifest: a checkin with no B card of its own. ListFiles now returns an error otherwise. check-in: 9fbe647b7f user: [email protected] tags: main, trunk

23:39
fix(manifest): refuse check-in filenames outside the writer profile (#270) (#321)

Checkin wrote any F-card filename it was given. The artifact format's writer profile (4.6.1) forbids a backslash and anything but valid UTF-8, surrogates and overlong forms included; fossil rejects a manifest that names one. storeFileBlobs now refuses such a name or old name before storing anything. check-in: 357d10dac6 user: [email protected] tags: main, trunk

Changes