For quite some time now, I have been bedeviled by SourceTree's lack of usable conflict resolution.
There is supposed to be a procedure for integrating p4Merge or some other diff/merge tool into SourceTree. For the moment, p4Merge is my tool of choice; now I just need to figure out how to
- Get SourceTree to accept p4Merge as its merge/diff tool, and
- Be able to actually call p4Merge from SourceTree to resolve conflicts.
So far the only thing I've been successful at doing is getting P4Merge to display a diff from within SourceTree. So the Actions/External Diff menu item works, but the Actions/Resolve Conflicts/Launch External Merge Tool menu item does not (it is grayed out).
I have selected P4Merge for both the Diff tool and the Merge tool in the Tools/Options/Diff tab in SourceTree. I can't put anything in the two command line boxes (even if I knew what to put there), because they are also grayed out.
How do I make this work?
SourceTree is at version 1.9.5.0, which should be the latest as of this writing. P4Merge doesn't appear to have a Help/About dialog, but it was installed recently (within the last 3 months).



I have SourceTree version 1.5.2.0, and I configured external merge tool as seen on the screenshot. P4Merge is installed into C:\Program Files\Perforce and is not on the
Path. I did not set any specific values into .gitconfig regarding diff/merge tools (I realize that this is kind of 'works on my machine answer', but it was indeed that simple).As for the workflow, different teams may have different approaches. What we do in our team for each feature work (usually done by only one developer) is the following (screenshots for how to perform each operation in SourceTree are at the end of the post):
To rebase develop:
To create new branch out of develop:
To merge develop into feature branch:
Here is how SourceTree shows that there are conflicts after merge:
Update: In order to verify whether SourceTree is configured correctly, I suggest you do the following: