Cannot Launch KDiff3 External Merge Tool from Sourcetree

I am not sure what the issue is all of a sudden.  It was working a few times, then all of a sudden it no longer will work.  It says it is launching the tool but then nothing happens.  I am unable to effectively resolve conflicts and need this to work properly.  

 

I updated to 2.3.5 and it still isn't working.  Has anyone else solved this issue?

5 answers

1 accepted

To anyone else having this problem do yourself a favor and download GitKraken.  Problem solved.  They apparently know how to use GitMerge and GitDiff properly.

This is straight up Bullcrap from a "professional" software developer to release something with such a buggy MUST HAVE feature.  How the hell can you release a product that for half the people there is no way to open an external merge/diff tool because sourcetree screws something up that leaves you attempting to go through 50 different posts to try and fix, STILL unsuccessfully I might add...

 

This is completely unacceptable.  I'm sorry but until Atlassian gets their head out of their ass and fixes this bug that has been in countless versions, including the latest one, I'm done using it.    I've spent 5 hours trying to resolve it, I don't have anymore time to play "find a workaround for my broken features".

0 vote

Hi
I use KDiff3 daily and its working for me. Can you provide some more details so we can try and work out the differences?

Can you check the git config settings, does it contain:

mergetool.sourcetree.cmd='C:/Program Files/KDiff3/kdiff3.exe' "$BASE" "$LOCAL" "$REMOTE" -o "$MERGED"

Sourcetree uses that setting by running

 git mergetool -y --tool=Sourcetree {filename}

Does that work from your command line?

you can try the diff equivalent as well 

e.g.

git difftool -y tool=Sourcetree {oldcommithash} -- {filename}

Yesterday it wasn't working for me. Today, it magically is. Here are the contents of my .gitconfig file.

 

[difftool "sourcetree"]
cmd = 'C:/kdiff3/kdiff3.exe' \"$LOCAL\" \"$REMOTE\"
[mergetool "sourcetree"]
cmd = 'C:/kdiff3/kdiff3.exe' \"$BASE\" \"$LOCAL\" \"$REMOTE\" -o \"$MERGED\"

In my case there's a tweak to this issue: I have a merge with a number of conflicts to resolve. I can resolve 1 conflict using kdiff3 (the KDiff3 commands configured as suggested by Joshua Brown). After this one conflict is resolved, I can't resolve any other - KDiff3 doesn't launch, as described above.

Hi

KDiff will not  trigger if, for example, the file in conflict has been deleted in one side of the merge or I've also seen cases where Sourcetree/Git appears to report a file in conflict but without any changes, possibly just whitespace? In this case KDiff will not trigger either.

We are aware of some of these annoying edge cases and plan to improve them in the future.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published May 30, 2018 in Sourcetree

Tip from the team: configuring Git or Mercurial in Sourcetree

Supported Platforms macOS Windows To make using Sourcetree as simple yet powerful as possible we embed (bundle) dependencies such as Git, Git LFS, and Mercurial. We strive to keep these...

564 views 1 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