Re:Weave – A language aware merge algorithm based on entities
by 50lo on Wednesday March 04, 2026 @12:26AM
(#47243438)
If both sides refactor the same function into multiple smaller ones (extract method) or rename it, can Weave detect that as a structural refactor, or does it become “delete + add”? Any heuristics beyond name matching?
[ Parent
| on HN ]
Re:Weave – A language aware merge algorithm based on entities
by rs545837 on Wednesday March 04, 2026 @12:29AM
(#47243467)
Yes, weave detects renames via structural_hash (AST-normalized hash that ignores identifier names). If both sides rename the same function, it matches by structure and merges cleanly.
Re:Weave – A language aware merge algorithm based on entities
by gritzko on Wednesday March 04, 2026 @12:33AM
(#47243491)
This will not work for refactors. In fact, any other change will break the hash. I know because I used this approach for quite some time.
Re:Weave – A language aware merge algorithm based on entities
by rs545837 on Wednesday March 04, 2026 @12:41AM
(#47243548)
Thanks a lot, I will test it out as you said, in the mean time, could you also open up an issue on the repo, so that it helps me and others to track the issue.