Ataraxy-Labs/weave
Entity-level git merge driver. Resolves false conflicts git invents when independent agents edit the same file. ~95% reduction vs. line-based merge.
weave – Git을 위한 엔티티 수준 의미론적 병합
그것이 무엇인가
- Git의 줄 단위 병합을 함수, 클래스, JSON 키 및 기타 언어 엔티티에서 작동하는 의미론적 병합으로 대체하는 Rust 기반 도구입니다. tree-sitter로 파일의 세 버전(base、ours、theirs)을 파싱하고, 이름/범위로 엔티티를 매칭하여 지능적으로 병합합니다。
왜 중요한가
- 여러 AI 代理(或开发者)编辑同一文件时,Git 经常标记冲突,即使更改是独立的(例如,两个新函数并排添加)。
weave自动解决这些虚假冲突,让代理无需人工干预即可继续。
主要特性
- 实体级三方合并 – 作用于函数、类、对象键等,支持 38 种语言。
- 确定性且无状态 – 给定相同的三个修订版本,它总是产生相同的结果,类似于
git merge-file。 - 冲突上下文 – 当发生真实冲突时,标记包含实体名称、类型和简短的“refused_by”原因,使手动解决更容易。
weave land– 一个命令,验证合并后的树,可选地运行自定义解析器,并仅暂存通过结构检查的文件(PROVEN、VERIFIED、REFUSED)。- 与 Git 和 Jujutsu 集成 – 提供
weave-driver合并驱动程序和weave setup命令,自动写入必要的.gitattributes规则。 - 基于 CRDT 的协调层(单独的
weave-crdtcrate)用于在更改进入 Git 之前进行实时多代理编辑。 - 基准测试和测试 – 441 个单元/集成测试,以及广泛的基准测试套件,与 Git 和 Mergiraf 在真实世界仓库(git、Flask、CPython、Go、TypeScript)上进行比较。
安装
# Homebrew (macOS / Linux)
brew install weave
# 从源码安装(需要 Rust 工具链)
git clone https://github.com/Ataraxy-Labs/weave
cd weave
cargo install --path crates/weave-cli # `weave` 命令
cargo install --path crates/weave-driver # Git 调用的驱动程序
典型工作流程
- 运行
weave setup(或--global、--local、--off)为所有支持的文件类型安装合并驱动程序。 - 像往常一样合并:
git merge <branch>。 - 如果
weave产生冲突标记,使用weave explain <file>获取详细的实体级信息。 - 编辑后,运行
weave check验证树。 - 使用
weave land(可选提供自定义解析器)完成并暂存已解析的文件。
生态系统和相关项目
- sem – 语义版本控制。
- inspect – 语义代码审查。
- opensessions – 用于编码代理的 tmux 侧边栏。
- weave-crdt – 用于实时多代理协作的 CRDT 层(提到但不属于此仓库)。
成熟度
- 最新稳定版本 0.5.3(截至 2026 年 9 月)。
- CI 在 Linux 和 Windows 上运行;所有测试通过(441+ 测试)。
- 在数千个真实合并提交上进行了基准测试,并发布了结果。
许可证
- 双许可:MIT OR Apache-2.0。
结论
weave 是一个生产就绪、开源的解决方案,用于减少多个自动化代理(或开发者)编辑同一文件的代码库中的虚假合并冲突。通过在语言实体级别而不是原始行级别进行合并,它让团队更快地交付更改,并减少手动干预。
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- Dispatch