Skip to content
go-libfossil Check-in [15a47df65a]
Login

Check-in [15a47df65a]

Overview
Comment:Merge branch 'fix/stash-pending-merge' into feat/submanifest-reader
Timelines: family | ancestors | descendants | both | main | trunk | feat/submanifest-reader
Files: files | file ages | folders
SHA3-256: 15a47df65a00d2a6d0eecfe2702babe9780f6f57ac45227475b65171df7710e7
User & Date: [email protected] on 2026-10-21 12:30:02.000
Other Links: branch diff | manifest | tags
Context
2026-10-21
12:30
docs(changelog): stash saves with a pending merge, as fossil does check-in: 84c7659789 user: [email protected] tags: feat/submanifest-reader, main, trunk
12:30
Merge branch 'fix/stash-pending-merge' into feat/submanifest-reader check-in: 15a47df65a user: [email protected] tags: feat/submanifest-reader, main, trunk
12:29
fix(stash): stash a pending merge as fossil does

Save no longer refuses while a merge is pending. As fossil's stash save, it stashes each changed file against the content last written for it (mrid) and reverts only the stashed files, so vmerge is kept and the next commit records the merge parent. A file the merge added is not in the checked-out version, so its revert deletes it.

Apply now fails before writing anything when a stashed modified file is missing from disk, as fossil's pop fails with "no such file" and rolls back; this is what a merge-added file meets after the save.

In a sparse checkout the record-only merge outside the cone is left pending and unmaterialized, and the in-cone files round-trip. check-in: c314e928f8 user: [email protected] tags: feat/submanifest-reader, main, trunk

12:20
test(checkout): read fossil's listing from stdout in the marker crash test

In the linked crash state both marker names are one file, and SQLite on Linux warns about the multiple links on stderr while fossil lists the record normally. CombinedOutput folded the warning into the file list. check-in: 83f574dc8f user: [email protected] tags: feat/submanifest-reader, main, trunk

Changes