MergePlan
What merging theirs into ours would do, without doing it.
import type { NameState } from "#codebase/tcmts/cli/diff"; import type { MergeResult } from "#codebase/tcmts/cli/merge"; export type MergePlan = | { kind: "up-to-date" } | { kind: "fast-forward"; to: string } | { kind: "merge"; theirsHead: string; /** the names as they were where the two branches' histories meet, as each has them, and as merged */ base: NameState; before: NameState; theirs: NameState; result: MergeResult; };