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.
它解決了什麼問題
Git 預設的行為基礎合併在兩位開發者(或 AI 代理)向同一檔案加入獨立程式碼(例如不同的函式)時,常會產生「偽衝突」。Weave 透過理解程式碼的實際結構,而非僅僅是行號,消除這些不必要的手動解決。
它如何運作
Weave 作為 Git 的語意合併驅動程式,使用 tree‑sitter 將檔案解析成「實體」(如函式、類別或 JSON 鍵),並在 base、local、remote 三個版本之間進行匹配。
它不比較行,而是在實體層面合併:若兩個不同的實體被修改,則自動解決;若同一實體被雙方修改,則嘗試在實體內部合併,或以清晰的上下文標示語意衝突。對於二進位檔案、不支援的類型或大於 1 MB 的檔案,則回退至標準的行為合併。
目標使用者
使用 Git 的軟體開發者與團隊,特別是同時使用多個 AI 代理修改同一程式碼庫,想要減少處理瑣碎合併衝突的時間。
重點特色
- 實體層解決:自動解決同一檔案中本應觸發 Git 衝突的獨立變更。
- 廣泛語言支援:支援多種語言,包括 TypeScript、Python、Go、Rust、Java、C、C++,以及 JSON、YAML 等設定格式。
- 語意衝突標記:當真正衝突發生時,提供描述性的標記(例如
function 'process' (both modified))。 - 高準確度:在真實開源倉庫中基準測試,未報告任何回歸。