Diff & Merge Tools
Tower 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 Tool
Tower 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 integrate custom tools.
Comparing Many Files at Once
When 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 Tools
When 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.
General Prerequisites
- Please install the latest version of the tool.
- Please quit the tool completely before opening it from within Tower.
- If you're trying to use the tool for merging, please make sure that it indeed fully supports this.
Testing General Functionality of an External Tool
- Select the appropriate diff or merge tool in Tower's preferences
- Open Git Bash
- Change into the repository directory
- Open .git/config file and confirm an existing section [difftool "tower"] or [mergetool "tower"]
- Run "git difftool --tool=tower FILEPATH" or "git mergetool --tool=tower FILEPATH"
Now, either the tool should open or the Git Bash should provide an error message - which might be helpful for finding the problem.
Supported Tools
Please make sure to have the tool's latest version installed. See below for special instructions for individual tools.
Araxis Merge
Araxis Merge supports merging.
Beyond Compare
Beyond Compare supports merging.
CodeCompare
CodeCompare supports merging.
DeltaWalker
DeltaWalker supports merging.
DiffMerge
DiffMerge supports merging.
KDiff3
KDiff3 supports merging.
Meld
Meld supports merging.
P4Merge
P4Merge supports merging.
SemanticMerge
SemanticMerge supports merging.
TortoiseMerge
TortoiseMerge supports merging. It comes in two flavors with either Tortoise SVN (TortoiseMerge) or Tortoise Git (TortoiseGitMerge).
UltraCompare
UltraCompare supports merging.
WinMerge
WinMerge does not support merging with a visual interface for Git. Therefore you can only use it as a Difftool in Tower.