I've always assumed that the output from
diff (typically "unified", whether or not it's colorized) is universally understood among most if not all text-based language programmers. Whether it's used due to version control or just comparing two individual files, it seemed that it is rather prolific.
- GitHub offers both unified and split (side-by-side), defaulting to last-used (first-time is unified, I believe)
- GitLab offers both unified and split, but defaults to unified (no ref found in docs)
- Mercurial (
hg diff) uses it (https://www.mercurial-scm.org/guide)
- Subversion (
svn diff) uses it (http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.c.diff)
- Git uses it (defaults to unified, other formats available) (https://git-scm.com/docs/git-diff)
- (to name just a few)
In a recent conversation with a project-partner (who is operating solely in TSQL), they complained that the unified-diff text I sent them in an email (containing literally two changed lines) was unusable/unrecognizable to them. I'm not upset that they aren't familiar with my standard: I'm honestly surprised that "they don't grok
They use Visual Studio and TFS. Some research suggests that TFS does support
/format:unified, but I cannot determine if it is default. What is the default, and does TFS have some form of
patch.exeto easily import a diff-like change?
They've directed that I send every change as a whole file. Since we both make changes to the code, they then need to manually find my changes and merge them (or not). I understand that this pain is now theirs, but if they choose to not merge because they don't see a change, I am directly affected (and troubleshooting is difficult). Is there a better way I can send them changes so that they easily know where all changes exist yet have the convenience of getting the whole file?
diff3), what other "industry-standards" are there? (perhaps limited/focused on MS/TFS)
I'm fairly comfortable with
git, GitHub, and GitLab, so my prejudice is recently
git-centric, though I have history with RCS, CVS, and Subversion. While I do not assume that
git and therefore
diff is the end-all/be-all, my point here is not about opinions on VC systems. I'm trying to disspell my mis-assumptions and communicate better.
NB: I have no access to their TFS server, and they will not try to work with my GitLab.