Skip to content

v0.1.0

Choose a tag to compare

@christerso christerso released this 19 Apr 12:59
· 6 commits to main since this release

First release.

What is included:

  • Merge(ancestor, a, b string, opts Options) (result string, hadConflicts bool, err error) — three-way merge with Git-style conflict markers
  • LineAware mode (default) and CharacterAware mode for sub-line resolution
  • Custom conflict marker strings
  • 10 golden-file test fixtures covering clean merges, add/modify/delete conflicts, CRLF, empty ancestor, unicode
  • Property tests: idempotent, symmetric, trivial cases
  • Compact Myers diff with O(D^2) trace storage (not O(N*D))
  • 95.7% line coverage across all packages; 99.4% on the merge engine

Known limitations (see README):

  • CRLF and LF are treated as distinct characters
  • No whitespace-ignore mode
  • Performance degrades on high-conflict inputs (O(N*D) time)