Artifact 905ad19f2ba5cb663f928d0b4ebe5652a2cc1fc23e256e2efe4c55e03d30c023:
- File
internal/checkout/revert.go
-
2026-10-21 12:29:31
— part of check-in
[c314e928f8]
on branch feat/submanifest-reader
— 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. (user: [email protected], size: 16474) [annotate] [blame] [check-ins using]
- 2026-10-21 12:30:02 — part of check-in [15a47df65a] on branch feat/submanifest-reader — Merge branch 'fix/stash-pending-merge' into feat/submanifest-reader (user: [email protected], size: 16474) [annotate] [blame] [check-ins using]
-
2026-10-21 12:29:31
— part of check-in
[c314e928f8]
on branch feat/submanifest-reader
— fix(stash): stash a pending merge as fossil does