merge3

tcmts.cli.merge.merge3 · #6syasxm6 · term · runs anywhere

Three-way merge of lines, as git merge-file does (mergeLines): the merged lines, or undefined where both sides changed a stretch differently (a conflict).

import { mergeLines } from "#codebase/tcmts/cli/merge";

export function merge3(base: string[], ours: string[], theirs: string[]): string[] | undefined {
  const r = mergeLines(base, ours, theirs);
  return r.conflicts ? undefined : r.lines;
}

uses

used by