Launch External Merge Tool For Sourcetree Mac

Active2 years, 4 months ago

Perform the failing 'Launch external merge tool' command. Run the command 'GitSavvy: disable logging' Run the command 'GitSavvy: view recorded log', save the file and attach it here. About SourceTree. SourceTree is a free Mac client for Git and Mercurial version control systems. You have to resolve the conflicts the same way as you do with a merge (e.g. Launching external merge tools) then continue the rebase process, since there may be more commits to ‘replay’ after this one. Merge or Rebase? At the SourceTree.

I am running OS X.10, Xcode 7 and SourceTree 2.

When I select a conflicted file and Launch an external merge tool, there is a window that appears very briefly... and then nothing happens.

I tried (see this help page) sudo ln -s /Developer/usr/bin/opendiff /usr/bin/opendiff but it did not work (I got the message ln: /usr/bin/opendiff: File exists).

What should I do?

PS:

Here is a picture of the window that briefly appears.

PPS:

Here are the SourceTree preferences:

Colas
ColasColas
9476 gold badges23 silver badges39 bronze badges

2 Answers

Launch External Merge Tool Sourcetree Not Working Mac

Assuming you are on latest version of SourceTree (Version 2.0.5.5 (2.0.5.5))

Try adding the following manually to your .gitconfig (or verify that SourceTree has put these exact lines)

sdayalsdayal
2,3061 gold badge9 silver badges19 bronze badges

My problem was that I was running a previous version of Xcode and I hadn't set the command line tools.

Select the tools in Xcode's preferences -> locations:

Then run this command in terminal to verify:

Launch External Merge Tool For Sourcetree Mac

The git command will print out the path for the diff tool, amongst other config info. If it's not configured, it will output an error with something along the lines of the following:

PostCodeismPostCodeism
Sourcetree winmerge merge tool

Sourcetree External Merge Tool

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged xcodegitmerge .

Our favorite (and free) visual diff and merge tool for OS X (as well as Linux and Windows) is DiffMerge. It makes resolving nasty Git branch conflicts a snap (relatively speaking). Here’s how to install it and configure it with Git on OS X:

Download the DiffMerge OS X installer. Be sure to download the Installer version. There’s also a DMG version but then you’ll have to manually install the diffmerge command line script.
Once you’ve downloaded it go into terminal and make sure you can run it from the command line by typing diffmerge and hitting return.

To configure Git to use DiffMerge run these commands from the command line:

git config--global diff.tool diffmerge
git config--global difftool.diffmerge.cmd 'diffmerge '$LOCAL' '$REMOTE'
git config--global merge.tool diffmerge
git config--global mergetool.diffmerge.cmd 'diffmerge --merge --result='$MERGED' '$LOCAL' '$(if test -f '$BASE'; then echo '$BASE'; else echo '$LOCAL'; fi)' '$REMOTE'
git config--global mergetool.diffmerge.trustExitCode true

Now, whenever you want it to launch diffs just use difftool where you’d normally use diff:

Sourcetree Merge Conflict Tool

# diff the local file.m against the checked-in version
git difftool file.m
# diff the local file.m against the version in some-feature-branch
git difftool some-feature-branch file.m
# diff the file.m from the Build-54 tag to the Build-55 tag
git difftool Build-54..Build-55 file.m

Merge Tool For Git

To resolve merge conflicts, just run git mergetool:

Sourcetree Merge Conflicts

Related