在Perforce中使用语义合并作为差异工具

时间:2013-07-31 12:46:19

标签: perforce semantic-merge

我正在尝试将SemanticMerge设置为Perforce中C#的差异工具。

我已经使用exe和参数-s=%1 -d=%2 -l=csharp

配置了perforce

diff tool settings

但是当我尝试区分C#文件时,我收到错误:

  

无法找到文件c:\ Program Files Perforce \%1

error message

所选文件不在该位置(文件名也不是%1)......

毫无疑问我很慢,我正在尝试RTFM,但我也希望有人能看到我所缺少的

2 个答案:

答案 0 :(得分:2)

user on twitter向我指出了一个我无法相信我以前没有找到的PDF

http://www.semanticmerge.com/documents/SemanticMerge-Perforce.pdf

简而言之,有必要创建一个批处理文件来在Perforce中启动外部差异和合并工具。

答案 1 :(得分:0)

在参数-s=%1 -d=%2中使用相等会阻止将%1%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

参考: https://users.semanticmerge.com/documentation/how-to-configure/semanticmerge-configuration-guide.shtml#HowtoconfigurewithPerforce