Practical Notes
- Setup time ~5 minutes: install +
weave setupin one repo - Works across many languages; falls back to normal line-level merge for unsupported file types
- GitHub stars/forks (verified) for adoption signal: see Source & Thanks
Weave is most useful when your conflicts are structural, not truly overlapping:
- Two agents edit different functions in the same file.
- One branch adds imports while another refactors a nearby block.
- A class gets new methods on both sides, but Git still panics because the line context overlaps.
A practical rollout pattern:
- Enable it in one repo first and keep it as a team convention (so merges behave the same in CI and locally).
- If you don't want to touch
.gitattributes, start with the per-user setup using.git/info/attributes. - Keep a “safe revert” habit:
weave unsetuprestores normal Git merging if you hit an edge case.
Treat it like a merge accelerator for multi-branch work: it doesn't replace code review, but it reduces the mechanical time spent resolving conflicts that were never real.
FAQ
Q: What is Weave in one sentence? A: An entity-level Git merge driver that merges code by function/class instead of line diffs.
Q: Is it free? A: Yes — it's open-source and licensed under an SPDX license listed below.
Q: How do I remove it from a repo?
A: Run weave unsetup to revert the merge-driver configuration.