3 ms·
Is the ability to show a non-text-based diff that related to how a source control system works under the hood though? Sure, a text-based diff tool may use some
by wizofaus 4y ago
Is the ability to show a non-text-based diff that related to how a source control system works under the hood though?
Sure, a text-based diff tool may use some of the same underlying algorithms to determine what the differing lines are, but I wouldn't assume they have to, and usually have options to do things line ignore case/whitespace/line endings/ formatting or show mid-line (even per character) differences that go beyond how git itself calculates diffs. A top level diff-tool that can proxy out to file-format specific tools would seem to fit well enough into the git toolchain. It's having them integrated into something like bitbucket or github for PR reviews that would be truly powerful.
- bmitc 4y agoThat's a good point. The issue may simply be one primarily of framing in that text-based diffing and merging tools were not natural, so to speak, but had to be built. And even now, they're not great. I'm constantly irritated by text-based diffing tools because they barely understand anything beyond lines of text. I'm interested to see more semantic diff and merge tools built out. Regarding source-code control, I think it's a problem mainly of Git and not tools like Perforce or Plastic SCM which handle binary files that change over time better. It's also an issue for things like GitHub, which as far as I know, does not provide any hooks for custom diffs to be viewed in the browser.