Artifact 375e76da9c01c8985a701f2cd69b65a971c1e62626033882fcf26310eee9c359:
- File
internal/manifest/receipt_test.go
-
2026-10-18 20:30:31
— part of check-in
[4add332299]
on branch feat/submanifest-reader
— fix: record one rcvfrom row per receipt, as fossil does
Fossil records each arrival of content (a commit, a tag, a sync or clone, a request its server answers, an unversioned add) as one rcvfrom row, made by content_rcvid_init when the first content arrives, and points every blob and unversioned file it stores at that row. go-libfossil seeded a single row at creation and pointed every blob at rcvid 1.
db.Receipt is that row: it is made lazily on first use, with the time as a Julian day, and remade if the transaction that made it rolled back. A transaction records content under the receipt it is given, and repo.WithReceipt gives one to every transaction, bound ones included, of a commit, tag, sync, clone or served request. The client credits its local user and the peer's address, as fossil's client records g.zIpAddr; the server credits nobody until a login card names a user, then that user and the card's nonce, from the request's address. Phantoms keep rcvid 0, and an applied unversioned deletion keeps its row's rcvid, as in fossil.
A new repository no longer starts with a placeholder row; an existing one keeps it. (user: [email protected], size: 1992) [annotate] [blame] [check-ins using]
-
2026-10-19 02:00:48
— part of check-in
[6651024b58]
on branch feat/submanifest-reader
— Merge branch 'fix/rcvfrom-receipts' into feat/submanifest-reader
# Conflicts: # CHANGELOG.md # internal/manifest/manifest.go # internal/sync/handler.go (user: [email protected], size: 1992) [annotate] [blame] [check-ins using]
-
2026-10-19 14:41:42
— part of check-in
[47f89f0798]
on branch feat/submanifest-reader
— Merge branch 'feat/submanifest-reader' into feat/cones
Update's rewrite meets the sparse worktree: a file outside the cone is a record-only step, counted in OutOfCone, and never planned, scanned, checked, written, backed up as NAME-original or chmodded; reloading vfile moves its record to the target. SetCone records the mtime of each file it materializes, as Extract now does. (user: [email protected], size: 1992) [annotate] [blame] [check-ins using]
-
2026-10-18 20:30:31
— part of check-in
[4add332299]
on branch feat/submanifest-reader
— fix: record one rcvfrom row per receipt, as fossil does