Diff = File Differences
A diff is shorthand for “difference” which typically refers to differences between files. A merge is the operation to combine the differences into a single resulting file.
Most source control programs provide a way of displaying diffs and performing a merge. This is often a very rudimentary tool, so they allow users to assign a better tool for diffs and merges.
My favorite diff and merge tool is P4Merge, hands down.
P4Merge
Also known as Perforce Helix Merge, P4Merge is a free download.
Note that the download is already running when they ask you to register, meaning you do not have to fill in that form that pops up.
P4Merge works as a standalone tool without requiring Perforce/Helix. It looks like this when given differing files as input:
It also allows you to view the two files side-by-side (left/right) rather than inline which allows you to see each file individually and how their differences overlap.
You can also navigate directly to the next or previous difference (turquoise toolbar arrows) to focus only on the lines with differences. This removes the necessity for scrolling / navigating and significantly reduces mental load when scanning for and signing off on diffs.
Cherry-Pick Merges
When it comes to merging, P4Merge allows you to interactively toggle between blue (theirs), green (yours), and the combined version of each individual difference.
You instantly see what the resulting merged lines will be, and if not correct, you can make a different choice or even manually edit the result.
This means you can cherry-pick your or their diffs on a granular level rather than having to make that decision for the entire file.
Leave a Reply