Weave is a Git merge driver that replaces line-based diffing with entity-level semantic merging using tree-sitter. It parses all three versions of a file (base, ours, theirs) into semantic entities like functions and classes, then merges at that level. Independent changes to different functions in the same file are auto-resolved without conflicts. Benchmarks across major open-source repos show 0 regressions and significant wins over standard Git merges. Supports TypeScript, JavaScript, Python, Go, Rust, JSON, YAML, TOML, and Markdown, with fallback to line-level merge for unsupported types. Setup involves configuring a custom Git merge driver via .gitattributes.
Table of contents
The ProblemHow Weave Fixes ThisWeave vs Git MergeReal-World BenchmarksConflict MarkersSupported LanguagesSetupPreviewArchitectureHow It WorksSort: