| 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: |
15a47df65a00d2a6d0eecfe2702babe9 |
| User & Date: | [email protected] on 2026-10-21 12:30:02.000 |
| Other Links: | branch diff | manifest | tags |
|
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 | |