Kdiff3, P4Merge, and Beyond Compare are probably your best bets out of the 14 options considered. 'Free and open source' is the primary reason people pick Kdiff3 over the competition. This page is powered by a knowledgeable community that helps you make an informed decision.
Diff & Merge ToolsTower allows you to view diffs as well as solve merge conflicts right from within its interface. However, it often makes sense to use a dedicated Diff or Merge tool application for these jobs. Configuring a Supported ToolTower offers direct integrations for a lot of diff and merge tools.To configure an external application for these purposes, you need to open Tower's preferences dialog on the 'Git Config' tab. Here, you can choose one of the supported tools that are installed on your machine.If you encounter any problems, please see below for a detailed troubleshooting guide as well as notes on individual tools.If your tool of choice is not supported, please have a look at our instructions on how to. Comparing Many Files at OnceWhen comparing whole revisions with each other (e.g.
Two branches or a revision with its predecessor) many changed files are involved. In this situation, the 'git difftool' command sends changes for every file to the diff tool in the background.However, not all diff tools can handle this scenario; some react badly by opening just the first of the involved files - and show the next one only after being quit.If your tool reacts in this unpleasant way, you might still get an acceptable workflow by turning on the 'Perform directory diff' option in Tower's preferences on the 'Git Config' tab. Troubleshooting Problems with External ToolsWhen connecting with an external tool, Tower simply calls the standard Git commands for these situations in the background ('git difftool' resp. 'git mergetool'). If - despite this very simple behavior - problems should occur, here are some hints for troubleshooting.
Using P4Merge with Visual Studio 2015/2017The diff tool integrated with Visual Studio has been improving with every version. I still prefer dedicated diff/merge tools for the job, however, and P4Merge is my favorite.
This small guide describes how to properly integrate P4Merge with Visual Studio 2015.Note that this only applies when using TFS. If you use git, Visual Studio will use the diff/merge tools configured with git. Installing P4MergeThe easiest method of installing P4Merge on your computer is with. @ ECHO OFF COPY /Y NUL% 4 START /WAIT /D 'C:Program Files (x86)Perforce ' p4merge.exe -dw -nb% 8 -nl% 6 -nr% 7 -nm% 9% 3% 1% 2% 4Save these files somewhere safe, e.g. In the C:Program Files (x86)Perforce folder. Configuring Visual StudioIn Visual Studio, go to Options → Source Control → Visual Studio Team Foundation Server and click the Configure User Tools button. Then add these entries:Compare SettingValueExtension.OperationCompareCommandC:Program Files (x86)Perforcep4diff.bat (or where you saved the file)Arguments%1%2 '0' '0' '0'%6%7Merge SettingValueExtension.OperationMergeCommandC:Program Files (x86)Perforcep4merge.bat (or where you saved the file)Arguments%1%2%3%4 '0'%6%7%8%9.