This page explains how to configure ABDiff as a diff and merge tool in Git and external applications. All of them require you to install the CLI ABDiff companion abd.

For Visual Code you need an extension so read the relevant section down below.

For Git, Fork, IntelliJ, SourceTree, or Tower, run one of these commands in the terminal:

abd integrate git
abd integrate fork
abd integrate intellij
abd integrate sourcetree
abd integrate tower

It’s best to run the application integrations with those applications closed. Some pick up the change, but others overwrite it.

Why not use button in the Settings section instead? App Store applications can’t take action in the file system independently, so they need to ask for permission, sometimes multiple times. For instance, to touch a preference file I would have to open the preferences folder, and select the file yourself. I found running a terminal command was the less awkward thing to do.

Visual Studio Code

Install the ABDiff extension for VS Code from https://github.com/janodev/vscode-abd.

If you prefer not to install another extension, you can still resolve merge conflicts using VS Code:

Some Notes About Tower

Keep Tower’s Perform directory diff option enabled so Tower can hand over commit-to-commit snapshots as directories.

When Tower compares two commits, it may pass two temporary directories instead of two files. ABDiff accepts that invocation and opens a read-only changeset view with the changed-file sidebar.

When Tower shows a conflicted file in the working copy: