我正在尝试将SemanticMerge设置为 Perforce 中 C# 的差异工具。
我已经用 exe 和参数配置了 perforce-s=%1 -d=%2 -l=csharp
但是当我尝试区分 C# 文件时,我收到错误:
找不到文件 c:\Program Files Perforce\%1
所选文件不在该位置(文件名 %1 也不存在)...
毫无疑问,我很慢并且正在尝试 RTFM,但我也希望这里有人能看到我所缺少的
我正在尝试将SemanticMerge设置为 Perforce 中 C# 的差异工具。
我已经用 exe 和参数配置了 perforce-s=%1 -d=%2 -l=csharp
但是当我尝试区分 C# 文件时,我收到错误:
找不到文件 c:\Program Files Perforce\%1
所选文件不在该位置(文件名 %1 也不存在)...
毫无疑问,我很慢并且正在尝试 RTFM,但我也希望这里有人能看到我所缺少的
推特上的一个用户指给我一个 PDF,我不敢相信我以前没有设法找到
http://www.semanticmerge.com/documents/SemanticMerge-Perforce.pdf
简而言之,有必要创建一个批处理文件来启动 Perforce 中的外部差异和合并工具。
在参数中使用 equal-s=%1 -d=%2
将防止将%1
and解释%2
为文件路径,因此会出现奇怪的错误。semanticmergetool
还接受带有空格的参数:-s "$LOCAL" -d "$REMOTE"
和位置参数:"$LOCAL" "$REMOTE"
,因此您可以设置例如:
Preferences > Diff > Default diff application: Other application
Location: .../semanticmerge/semanticmergetool.exe
Arguments: %1 %2
要设置semanticmerge
为合并工具,请使用Arguments: %1 %2 %b %r