Tower Help & Support

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 settings 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 write a custom integration script.

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 settings 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 make sure to also install any command line helper tools that it may require.
  • 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 Settings
  • Open Terminal.app
  • 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 Terminal.app 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. Requires installation of the Araxis command line tools (from the Utilities folder of the Disk image to /usr/local/bin).

BBEdit

BBEdit does not support merging.

Beyond Compare

Beyond Compare supports merging. Requires installation of the Beyond Compare command line tools (see "Install Command Line Tools…" item in the "Beyond Compare" main menu).

Changes

Changes does not support merging.

DeltaWalker

DeltaWalker supports merging.

DiffMerge

DiffMerge supports merging.

FileMerge

FileMerge supports merging. The application is only included with an installation of Xcode. Please make sure that (1) Xcode terms of use have been accepted, (2) the Xcode "Tools" are installed and (3) that Xcode itself is installed in the standard /Applications folder.

Kaleidoscope

Since version 2, Kaleidoscope supports merging. The "ksdiff" command line tool needs to be installed (see "Integration" in Kaleidoscope's application menu).

P4Merge

P4Merge supports merging.

TextMate

Textmate does not support merging. You can use it as diff result viewer for the /usr/bin/diff command line tool.

TextWrangler

TextWrangler does not support merging. If you have installed TextWrangler from the AppStore, the command line tools are not included by default. However, they are essential for use with Git and Tower. Please download the command line tools from the BareBones software website.