HackerLangs
TopNewTrendsCommentsPastAskShowJobs

rohanat

no profile record

Submissions

Weave: Merging based on language structure and not lines

ataraxy-labs.github.io
68 points·by rohanat·27일 전·46 comments

comments

rohanat
·8일 전·discuss
[dead]
rohanat
·8일 전·discuss
have you considered a deterministic tier before the embedding pass? I feel that approach can be more efficient.
rohanat
·26일 전·discuss
https://ataraxy-labs.github.io/weave/learn.html
rohanat
·26일 전·discuss
[dead]
rohanat
·27일 전·discuss
This is great, and sorry we never landed a time after Reddit, that one's on me. Let's actually fix it, could you email me on [email protected].

For context on where the gap might be: weave matches at the entity level (functions/classes/methods by name + type + scope) and uses structural hashing for rename/reorder detection, so it should shine on reorders, renames, and large same-file edits, and may be at parity elsewhere. If your stream tags conflicts by language and type, comparing where each driver wins would be useful to both of us.
rohanat
·27일 전·discuss
Different layer. SemanticDiff is a language-aware diff viewer, it helps you read a change. weave is a merge driver, it resolves the three-way merge so you get fewer conflicts in the first place. The closer analog to SemanticDiff in our stack is sem diff.
rohanat
·27일 전·discuss
I am sorry about your experience igra, but to be fair, yeah there are some failure cases but I love to receive any feedback that you think can improve it and make it a more generalized solution.
rohanat
·27일 전·discuss
Thanks a lot for the feedback, appreicate it!
rohanat
·27일 전·discuss
Yeah you can find the readme on the github repository.
rohanat
·27일 전·discuss
Thanks a lot for this feedback, you are right, but I actually had a page about the merge algorithm more in depth, maybe you will love it.
rohanat
·27일 전·discuss
Totally fair. The merge logic doesn't care whether a human or an agent wrote the commit, "two commits touch different functions in the same file, clean merge" is exactly how a human should read it too. We lead with agents because that's where merge volume is about to explode and the pain is worst, not because it's agent-only. Point taken on the copy, I'll make it less exclusionary.
rohanat
·27일 전·discuss
Good question. Weave is a standard git merge driver, so it slots into the existing flow rather than replacing it. You wire it up in .gitattributes, and it only changes the 3-way conflict-resolution step that git already runs. The output is a normal merged tree, so everything an org layers on top still runs unchanged: branch protection, required status checks, code scanning, CI. It isn't bypassing any of that. It just resolves conflicts by entity structure (functions, classes, methods) instead of line hunks, then hands a regular file back to git.