weave  by Ataraxy-Labs

Semantic Git merge driver for intelligent conflict resolution

Created 1 month ago
691 stars

Top 49.3% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> Weave tackles Git's pervasive issue of "false conflicts" arising from line-based merging, a problem exacerbated by AI code generation. By employing entity-level semantic merging via tree-sitter, it intelligently understands code structure (functions, classes, keys) to resolve conflicts. This offers developers, especially those leveraging AI agents, a significantly cleaner and more efficient merge process, reducing manual intervention and preventing merge blockages.

How It Works

Weave replaces Git's naive line-range comparison with a sophisticated entity-level merge. It parses the base, 'ours', and 'theirs' versions of a file into semantic entities like functions, classes, or JSON keys using tree-sitter grammars. Entities are matched across versions by identity (name, type, scope). Changes to distinct entities are automatically merged, while modifications to the same entity trigger an intra-entity merge, only flagging conflicts if they are semantically incompatible. This approach fundamentally differs from Git's by only flagging true semantic collisions, not arbitrary line overlaps.

Quick Start & Requirements

Installation involves building the Rust project (cargo build --release) and running ./target/release/weave-cli setup or configuring Git manually via git config and .gitattributes. Supports TypeScript, JavaScript, Python, Go, Rust, Java, C/C++, Ruby, C#, PHP, Swift, Fortran, and structured data formats (JSON, YAML, TOML, CSV, Markdown). For unsupported file types, large files (>1MB), or binary files, Weave gracefully falls back to Git's standard line-level merge.

Highlighted Details

  • Demonstrated zero regressions across extensive testing on major open-source repositories.
  • Significant "wins" resolving Git conflicts (e.g., 39 in git/git, 65 in TypeScript).
  • "Human Match" rates align with human intent (e.g., 64% for git/git, 58% for Go).
  • Provides context-rich conflict markers, identifying the specific entity and type of conflict.

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), sponsorships, or roadmap were found in the provided README content.

Licensing & Compatibility

The provided README content does not specify the software license, making it impossible to determine compatibility for commercial use or closed-source linking.

Limitations & Caveats

Weave defaults to Git's line-level merge for files exceeding 1MB, binary files, and any file types not explicitly supported by its tree-sitter grammars. The absence of explicit licensing information is a significant caveat for adoption.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
7
Issues (30d)
7
Star History
651 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), and
3 more.

AutoPR by irgolic

0.1%
1k
AI-powered workflows for codebase automation
Created 3 years ago
Updated 1 week ago
Feedback? Help us improve.