4 ms·
Not sure why you are downvoted. This is a genuinely interesting idea and seems like the basis for next gen change management.
by luffapi 5y ago
Not sure why you are downvoted. This is a genuinely interesting idea and seems like the basis for next gen change management.
- morelisp 5y agoThey are being downvoted for not understanding how git works. If you have a 3-way diff/merge tool for ASTs you can plug it into git and use it today, and you can use it on all existing branches and historical changesets. The "problem" is no one actually wants to resolve merges that way.
- luffapi 5y agoThere’s been plenty of times my code as been “lost” in a later commit because Git didn’t know it was the same thing.
- morelisp 5y agoI don't understand how this relates to what I said without more details about what "lost" means, sorry. If you mean Git had issues finding some specific code motion to show in a diff, you can try one of the other diff algorithms, or adjust the threshold for rename/copy detection. AST-based differs would also suffer this issue; a "nice diff" is not a formal problem and does not have a universal solution. If you mean you once had a mis-merge that dropped some code you didn't want to drop, this won't go away with AST-based diffs. It will just happen at the token level instead of the line level. If you mean it's generally hard to deal with collapsing lots of branches with shared history, that's true but would also be true with AST-based approaches. This is the situation something like pijul could help with, but also raises all the other tradeoffs of snapshot vs changeset based approaches.
- nailer 5y agoYou’re still committing formatting, and our whole ecosystem of tools is focused around text. You’re proposing a workaround rather than fixing the problem.
- cellularmitosis 5y agoThis isn't specific to VCS, but I'll drop a link to this thread about structural editors which PaniczGodek has been maintaining for a few years now, just to give it more exposure: https://twitter.com/PaniczGodek/status/1195784199250284545 https://twitter.com/PaniczGodek/status/1195784199250284545