| Comment: | fix(manifest): make root check-in mlink derivation idempotent (#294) (#325)
* fix(manifest): make root check-in mlink derivation idempotent (#294) The root-file branch of insertCheckinMlinks inserts each file row with no already-derived guard, unlike addMlink's pmid>0 early-out, so crosslinking a root a second time -- which the relink path does after clearing event and tagxref -- inserted a second copy of every row. Skip the block when a root row (pmid=0) is already present, matching the idempotence of fossil's manifest_crosslink. * test(manifest): root check-in mlink derivation is idempotent on relink (#294) |
|---|---|
| Timelines: | family | ancestors | descendants | both | main | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
d5fdd30d12bcfc2f21d28f4b58774c1c |
| User & Date: | [email protected] on 2026-10-12 00:08:35.000 |
| Other Links: | branch diff | manifest | tags |
|
2026-10-12
| ||
| 00:13 |
fix(manifest): refuse a technote with a non-self or non-singleton T-card (#287) (#326)
fossil rejects a CFTYPE_EVENT artifact at parse time unless every T-card is a '+' tag on the technote itself; a technote may not tag another artifact, propagate, or cancel. go-libfossil's parser still accepts such a technote, so gate it in isArtifact: a technote whose T-cards are not all self-referential singletons is not an artifact and applies none of its tags. check-in: cf9089ec35 user: [email protected] tags: main, trunk | |
| 00:08 |
fix(manifest): make root check-in mlink derivation idempotent (#294) (#325)
* fix(manifest): make root check-in mlink derivation idempotent (#294) The root-file branch of insertCheckinMlinks inserts each file row with no already-derived guard, unlike addMlink's pmid>0 early-out, so crosslinking a root a second time -- which the relink path does after clearing event and tagxref -- inserted a second copy of every row. Skip the block when a root row (pmid=0) is already present, matching the idempotence of fossil's manifest_crosslink. * test(manifest): root check-in mlink derivation is idempotent on relink (#294) check-in: d5fdd30d12 user: [email protected] tags: main, trunk | |
| 00:03 |
fix(manifest): write the first check-in's sym-trunk as propagating (#289) (#324)
fossil new and repo-state §6.1 write *branch and *sym-trunk, both propagating, so the trunk alias descends to every check-in on the branch. The initial check-in built sym-trunk as a singleton (+), which stopped the alias at the root. check-in: 470f85d9fa user: [email protected] tags: main, trunk | |