testAbortDropsAMergeNotFinished
tcm merge --abort drops a merge not finished: the branch is as it was all along, and it can merge again.
import { tcmIn } from "#codebase/tcmts/cli/test/e2e/harness"; import { withConflicts } from "#codebase/tcmts/cli/test/e2e/merge"; import assert from "node:assert/strict"; export const testAbortDropsAMergeNotFinished = () => { const { dir, tcm } = withConflicts("merge abort"); assert.match(tcm("merge", "--abort"), /dropped the merge of main into s/); assert.match(tcm("todo"), /nothing to do/); assert.match(tcm("view", "lib.k"), /const a = 10;/); assert.match(tcmIn(dir, "merge", "--abort").out, /isn't merging anything/); const again = tcmIn(dir, "merge", "main"); assert.equal(again.status, 1, again.out); assert.match(tcm("todo"), /merging main into s/); // (and a merge while one waits is refused) assert.match(tcmIn(dir, "merge", "main").out, /merging main still/); }