Yeah , I know , I read all the previous questions and supposed answers .
Common answer - Merge tool is not configured properly somewhere deep in the git configs . If I liked editing configs and command lines , I would not be using Source tree , and anyway , how does one verify that the entries copied from some obscure blog actually work (in my case it is pretty clear they don't). Is there clear explanation where the Source tree gets the merge tool command , what file , what tag etc?
a. System Windows 8.
b. tool WinMergeU.exe
c. lines entered in the global .gitconfig
[diff]
tool = winmerge
[difftool "winmerge"]
name = WinMerge
trustExitCode = true
cmd = "C:/Program Files (x86)/WinMerge/WinMergeU.exe" -u -e $LOCAL $REMOTE
[mergetool "winmerge"]
name = WinMerge
trustExitCode = true
cmd = "C:/Program Files (x86)/WinMerge/WinMergeU.exe" -u -e -dl \"Local\" -dr \"Remote\" $LOCAL $REMOTE $MERGED
[merge]
tool = winmerge
In most cases, SourceTree just wraps around git commands. In this case, git difftool.
You shouldn't have needed to modify the git config file. The SourceTree Options dialog includes a section for configuring your diff tool, and WinMerge is one of the preset options.
If the tool is not launching, it's possible that a local git config file is overriding the global difftool/mergetool preferences.
I just had this same problem after an update. External diff melted. I looked in my users dir .gitconfig and something had happened to the command line. There were 3 of them and 2 of them were only partial. The setup options in source tree did not work to fix the issue. hand editing the gitconfig to just have the correct one line diff tool did.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Seth! I looked everywhere but the local git config. It had the diff tool path as "C:\Program"
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks, it fixed it for me on mac.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If anyone else has this issue on macOS, you might have both Xcode (which supplies FileMerge) and separate Command Line Tools installed (thanks to Homebrew in my case). SourceTree configures .gitconfig to use opendiff, but opendiff (tested from a terminal) complains about command-line tools being active (instead of Xcode). Solved with:
sudo xcode-select -switch /Applications/Xcode.app
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This worked for me, thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It works. Thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks that worked for me!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks worked for me
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks. This worked for me. When I wanted to launch the merge tool, it will close Source Tree's merge dialog immediately and do nothing.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I just noticed that DiffMerge in Mac creates a wrong command. edit your .gitconfig and change the path to the correct app folder `/Applications/DiffMerge.app/Contents/MacOS/DiffMerge` .. it should work afterward
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This fixed it on my side as well! :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Worked for me too
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you!!!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Fixed!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Such a life savior!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you so much. This was the fix for me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Having the exact same issue since the last update. I had Meld all configured for both diff and merge purposes, but it stopped working suddenly. The tool just doesnt start, even though nothing change in the configuration.
I even tried modifying the gitconfig. Now even Visual Studio opens up meld for diffing, but SourceTree just doesnt do anything.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I even managed to verify this yesterday on my home computer. Before the latest update, Meld was starting as expected with External Diff. Right after update to the latest version, it simply stopped working. It seems there is something wrong in the latest version.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sounds like it. You can report a bug at jira.atlassian.com
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
thank you Seth for the response , I did enter the information , but that was not an issue - issue is the troubleshooting of the undocumented behavior of SourceTree. Do you know how they read the files , where the information is coming from , how do they launch the merge tool ? I did try multiple suggestions from the forum , but seeing the "Visual Merge In Progress" dialog ( which does absolutely nothing) for the 100th time draw me absolutely mad yesterday.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
On Windows to make it work you have to specify your preferred tool both as External Diff Tool and Merge tool. Also, check the path carefully.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I just faced the same exact issue on Windows now and after spending a ridiculous amount of time meddling with configuration settings etc I just noticed by using a different git client the conflict SourceTree was showing me was actually that I had modified a file that the incoming branch had deleted, but there's no indication of that anywhere in the UI so when you try to resolve the conflict by launching the merge tool it just hangs in there and does nothing :(
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If you use SourceTree, in has integrated Tools->Option menu and will always rewrite your changes in .gitconfig file.
Under Diff tab in source tree just add custom, for example use the notepad++ compare plugin which has syntax highlighting and you don't feel like back in the old days without colored keywords:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Nobody really answered this question, did they?
Can someone PLEASE give exact steps to get Beyond Compare to work as an external diff tool for doing a merge? Like, where is the .gitconfig we are supposed to edit, and exactly what are we supposed to remove/add to have a merge launch BC? I mean, I can get BC4 to launch just doing a manual diff, but I can't get it to launch for a merge.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For me, I didn't actually have to hand-modify the .gitconfig. Under Tools -> Options -> Diff, make sure the Merge Tool is set to the tool you want - System Default doesn't actually do anything for me. I set both to Beyond Compare and it started working. Slow, but it works.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
So, firstly, which merge tool have you installed? Which operating system are you running (how to configure command line calls obviously is very different between Windows and Max)?
What have you done so far to try and get the merge tool configured? If the answer is nothing, that's fine. However, you don't seem to be the kind of person that likes being told to try things that are "obvious", so I'd rather start where you've left off.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.