vsDiffMerge没有作为Sourcetree外部合并工具运行

时间:2019-12-06 17:28:43

标签: git visual-studio atlassian-sourcetree merge-conflict-resolution mergetool

我试图将vsDiffMerge(来自Visual Studio Professional 2017)设置为SourceTree的外部合并/差异工具。但是,当我尝试解决与外部工具的合并冲突时,没有任何反应。我知道我以前可以使用它,但是最近我不得不重新安装Sourcetree,现在我无法使用它。

按照this article中的说明进行操作,然后转到“工具”>“选项”>“差异”。我设置以下内容:

  • 外部差异工具和合并工具都可以Custom
  • Diff命令和合并命令都同时移至"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

合并时,我右键单击出现合并冲突的文件,然后选择“解决冲突”>“启动外部合并工具”。我短暂地看到“ Visual Merge In Progress”消息,并且在SourceTree中可以看到已创建了临时文件(后缀为_BACKUP,_BASE和_LOCAL的文件),但是消息消失后​​不久,临时文件消失而没有合并工具永远开放,而冲突仍未解决。无论我是否已经打开Visual Studio,都会发生同样的情况。

我还尝试将每个this answer的$ REMOTE和$ LOCAL顺序互换,但结果相同。

设置方式是否有问题?还有什么我应该检查或尝试的吗?

1 个答案:

答案 0 :(得分:0)

我从来没有发现为什么它不适用于VS 2017,但是我最近升级到了VS 2019,并将路径更新为新安装的vsDiffMerge.exe,在此之后它又可以工作了。因此,如果有人遇到此问题,请尝试更新Visual Studio。