I'm trying to set up vsDiffMerge (from Visual Studio Professional 2017) as my external merge/diff tool for SourceTree. However, when I try to resolve merge conflicts with the external tool, nothing happens. I know I got it to work before, but I had to reinstall Sourcetree recently, and now I can't get it to work.
Following the instructions in this article, I went to Tools > Options > Diff. I set the following:
Custom
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe"
"$LOCAL" "$REMOTE" "Source" "Target" //t
"$LOCAL" "$REMOTE" "$BASE" "$MERGED" //m
When merging, I right-click on a file with a merge conflict and choose Resolve Conflicts > Launch External Merge Tool. I see the "Visual Merge In Progress" message briefly and I can see in SourceTree that the temp files (the ones suffixed _BACKUP, _BASE, and _LOCAL) are created, but soon after the message goes away and the temp files disappear without the merge tool ever opening, leaving the conflict unresolved. The same happens whether I already have Visual Studio open or not.
I also tried swapping the order of $REMOTE and $LOCAL per this answer, but with the same results.
Is there something wrong with the way I have it set up? Is there anything else I should check or try?
I never found out why it wasn't working for VS 2017, but I recently upgraded to VS 2019 and updated the path to the newly installed version of vsDiffMerge.exe
and after doing that it works once again. So if anybody else runs into this issue, try updating Visual Studio.