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.