- Adding a line: ✅
- Removing a line: ✅
- Modifying a line: ✅
- Moving a codeblock: ❌ i see you’ve rewritten everything, let me just highlight it all.
RIP reviewers on my PR.
(Meme created by my coworker)
- I’m surprised that after almost 20 years of versioning C code, git still manages to assign the closing brace of a function wrongly. - Because text is text and all - }are the same.
 
- I’m convinced there must be a way of using ASTs to do more intelligent diffing of a given programming language, but I’m far too lazy to find out for myself. - You mean like Difftastic? - Hell yeah, being lazy paid off. Thanks. - You’re welcome. And have fun trying to break it! 
 
 
- There is, but your dif tool would have to be language aware and likely be slower to show difs. 
- There have been some attempts at semantic diffs, but it’s very uhh… difficult to gain traction with such a thing. 
- Diffing algorithms on trees might not be as efficient, especially if they have to find arbitrary node moves. 
 
- deleted by creator - That’s awesome. I wonder how it’d handle moving plus a small change. - Too bad GitHub doesn’t support it yet afaict. But at least it’s not all diff tools. 
 
- laughs in IntelliJ - that’s not even a joke, I’m using intellij community as a merge and diff tool exclusively. it doesn’t support the language I want but even without it it’s better then anything else. 
 
- Most diff tools have an option to ignore leading or trailing whitespace changes. - Me omw to shift the entire codebase to the right by one tab and claim authorship over every line in the project with a completely untraceable commit 
- I think OP meant moving a code block up or down in a file, not left or right - Yes, thank you. I probably should have been more clear 
 
 
- Beyond Compare is awesome and handles this and many other things quite well. 
- Me adding one if statement around around a code block. Ah shit I guess I own the whole function now. 
- If you’re going to rearrange code, have that as a separate check in from changing code. 
- VSCode has that feature for some months now. Maybe it’s still hidden behind an off-by-default setting, but it’s there and I use it. - I’ll have to take a look to see if I can use it to view (enterprise) GitHub PRs, because that’d be a huge help 
 
- Perforce diff works better than this. Even my basic Git/Gitlab diffs don’t do this. 
- Try difftastic! https://github.com/Wilfred/difftastic - That logo tho. oh noooooo 
 
- Give me some love for adding an indent level either showing nothing changed or you rewrote everything too. 
- Maybe specify a different diff algorithm? Histogram for example? 
- How do you expect it to be shown though? - For example, on side by side views, you can draw a box around it on both sides, and draw a line connecting the two - I think Sublime Merge does this with the conflict resolution tool 
 
 







