Launch external diff tool for diff between two commits

How do I launch the external diff tool for a diff between two commits from within SourceTree?

The diff tool is already setup in the options, and works for single files, but I would like to perform a diff between two commits.

I assumed I could just select the two commits and the right-click context menu would have an option to perform an external diff, but I do not see any option for it.

1 answer

1 accepted

0 votes
Accepted answer

Short answer

The feature isn't available out of the box as of version 1.5.2.0. Which is strange given that every other worthwhile VCS GUI I've ever used had such a feature, especially if they already support per file external diffs.

Long answer

I was able to workaround around the deficiency in SourceTree by creating a custom action with the following settings.

Menu Caption: External Diff
Script to run:
git
Parameters: difftool --dir-diff $SHA

This assumes you have an external diff tool configured properly in git and that can support directory diffs. I'm using Beyond Compare 3, so my difftool config is:

diff.tool=bc3
difftool.bc3.cmd='C:/Program Files (x86)/Beyond Compare 3/BCompare.exe' "$LOCAL" "$REMOTE"
difftool.bc3.prompt=false

The above config follows the suggestions of Timon Wong [http://theo.im/blog/2012/10/27/directory-comparison-for-git-difftool/] and Scooter Software technical support [http://www.scootersoftware.com/vbulletin/showthread.php?t=9449].

The 'custom action' here doesn't work with SourceTree 2.0.20

Does anyone here know how to update it?

It looks like this is option is available at least as of 2.3.5. ctrl+click on the two nodes you want to compare, and then click the gear icon on the right side below the history graph. Select 'External diff'

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Oct 23, 2018 in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

828 views 3 2
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you