Artifact 45de8b93e81a66af55b2a42885d8d6002e2976a8c684a5bed53af697a93c9984:
- File
internal/tag/tag.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: 15578) [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: 15578) [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