Source Tree supports multiple external tools to compare differences and resolve conflicts between files. By default you can choose any of this:
But In this entry I’m going to show how to use it with Meld.
Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects.
In linux systems it’s very useful and it’s my preffered tool (only when I can’t use diff and merge tools from my IDE).
How to configure
For Windows
Go to main menu and select Tools > Options > Diff tab, into selection option External Diff pick Custom and into field Diff Command set the path to your meld binary (on windows is Meld.exe), into field Arguments set this:
\"$LOCAL\" \"$REMOTE\"
Now for Merge Tool, select the same binary (Meld.exe) and set this into filed Arguments:
--auto-merge \"$LOCAL\" \"$BASE\" \"$REMOTE\" --output=\"$MERGED\"
Now, if you choose any file in your project you can check the diff selecting External Diff or with shorcut CTRL+D over your file, and meld it’s executed:
And it’s the same for files in conflict, select your file with the context menu Resolve conflicts > Launch External Merge Tool, now you can view side to side the differences between versions.
For Mac OSX
Meld is available for OSX here, download and install it.
Select Sourcetree menu > Preferences > Diff tab, on Diff command and Merge command set this value:
open -W -a Meld
For Diff command set this args:
--args $LOCAL $REMOTE
For Merge command set this:
--args --auto-merge $LOCAL $BASE $REMOTE --output=$MERGED
Note:If you want to disable auto backup files (with .orig extension) from git execute this command:
git config --global mergetool.keepBackup false
And thats all, cheers
References