How to use a DiffTool on Mac: window is not opened

Sounds like a silly question but it is not. 

Regardless I have tried several tools, none of them open the windows when I click on the Resolve Conflict in the external tool. I can see a windows popping up quickly but then suddenly it disappear so I can't read it.

I believe it shows the name of the files but can't get anything to work.

Trying to use the software from command line, say K3Diff, I was able to open the tool from terminal passing arguments, but when the app opens the files are not really selected. They appear in the drop down menu, which I have to select if I want to confirm and open. In any case the third parameter is ignored.

How can I set this up correctly?


Testing other products, but also having a look at the command line used in the .gitconfig file I was able to get the files opened from the terminal. No joy from the SourceTree app.

2 answers

Seems other had similar issues before.

However, I've tested almost all the products in the list, and I can't see how a symbolic link can help.


That said, this could because my merge conflict regards a file that has been deleted on the remote but it is still on my local repo. However, how can I get that difference if I can't check the file ... or how can I visually get the situation to accept the remote commit?

I don't think you can use an external merge tool to resolve a modified-here/deleted-there conflict. Merge tools do line-by-line comparisons, which is impossible when there is no file on one side (fundamentally different than an empty file).

The appropriate way to resolve this conflict is to select the "Resolve using mine..." or "Resolve using theirs..." in the SourceTree context menu. "Mine" usually refers to the branch that you have checked out, and "theirs" is the branch that you selected to merge. For pull conflicts, Mine is local and Theirs is remote.

This is probably closer to your situation:

Doesn't sound like the same case, though no sign of any software opening for sure.

A rename is essentially a "delete" followed by an "add". As I said, there isn't any "merging" to do here, you just have to pick - do you want the file with the modifications, or do you want it to be deleted.

@Seth I believe this may be the case, but again the question it would be ... how can I know what the issue if I can't see anything. In this circumstance SourceTree didn't let me see anything to understand the file was deleted. I knew because this was discussed with the team, but what in a big project? Also, by resolving with theirs, source tree left behind dozens of files containing BASE, LOCAL, BACKUP and REMOTE. SHouldn't SourceTree have deleted these as soon as the conflict was resolved?

You are right, SourceTree should give some indication that the conflict involves the file being deleted on one side of the merge. You should make a feature request at If you post a link to the request here, I'll vote for it. As for the extra files, those were created when you attempted the external diff, and weren't cleaned up since the tool didn't launch (or close) properly.

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...

962 views 4 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