vsDiffMerge 不是 运行 作为 Sourcetree 外部合并工具
vsDiffMerge not running as Sourcetree external merge tool
我正在尝试将 vsDiffMerge(来自 Visual Studio Professional 2017)设置为我的 SourceTree 外部 merge/diff 工具。但是,当我尝试使用外部工具解决合并冲突时,没有任何反应。我知道我以前可以使用它,但最近我不得不重新安装 Sourcetree,现在我无法使用它。
按照 this article 中的说明,我转到“工具”>“选项”>“差异”。我设置如下:
- 外部差异工具和合并工具都到
Custom
- Diff 命令和 Merge 命令都到
"C:\Program Files (x86)\Microsoft Visual Studio17\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,都会发生同样的情况。
我也试过按 交换 $REMOTE 和 $LOCAL 的顺序,但结果相同。
我设置的方式有问题吗?还有什么我应该检查或尝试的吗?
我从未发现为什么它不适用于 VS 2017,但我最近升级到 VS 2019 并将路径更新为新安装的 vsDiffMerge.exe
版本,然后它再次运行。因此,如果其他人遇到此问题,请尝试更新 Visual Studio.
我在最新的 Sourcetree 3.4.6 中遇到了同样的问题。
事实证明,添加反斜杠使其有效:
- Diff 命令参数 -
\"$LOCAL\" \"$REMOTE\" //t
- 合并命令参数 -
\"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" //m
我正在尝试将 vsDiffMerge(来自 Visual Studio Professional 2017)设置为我的 SourceTree 外部 merge/diff 工具。但是,当我尝试使用外部工具解决合并冲突时,没有任何反应。我知道我以前可以使用它,但最近我不得不重新安装 Sourcetree,现在我无法使用它。
按照 this article 中的说明,我转到“工具”>“选项”>“差异”。我设置如下:
- 外部差异工具和合并工具都到
Custom
- Diff 命令和 Merge 命令都到
"C:\Program Files (x86)\Microsoft Visual Studio17\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,都会发生同样的情况。
我也试过按
我设置的方式有问题吗?还有什么我应该检查或尝试的吗?
我从未发现为什么它不适用于 VS 2017,但我最近升级到 VS 2019 并将路径更新为新安装的 vsDiffMerge.exe
版本,然后它再次运行。因此,如果其他人遇到此问题,请尝试更新 Visual Studio.
我在最新的 Sourcetree 3.4.6 中遇到了同样的问题。 事实证明,添加反斜杠使其有效:
- Diff 命令参数 -
\"$LOCAL\" \"$REMOTE\" //t
- 合并命令参数 -
\"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\" //m