如何配置Perforce公司使用的工具TortoiseMerge用来diff和合并?
我试图论证
/base:%1 /mine:%2
以下http://tortoisesvn.net/docs/release/TortoiseMerge_en/tme-automation.html和http://www.perforce.com/perforce/doc.current/manuals/p4v/Configuring_display_preferences.html#Diff 。 Perforce的文件说
指定在参数字段第三方应用DIFF参数:第一个文件,2%为第二个文件的名称的名称输入%1。 P4V调用DIFF应用程序时,替换这些占位符的实际文件名。
然而,当我尝试它,TortoiseMerge中的错误“无法打开文件%1”,暗示P4V并没有取代论据和离开%1
原样
您可以通过创建一个批处理文件做到这一点。 在bat文件,你可以调用具有正确参数的合并计划。 这是我的bat文件的内容:
TortoiseMerge.exe /base:%1 /theirs:%2 /mine:%3 /merged:%4
在P4设置%b %1 %2 %r
:
正如你可以看到我叫我的bat文件“p4Helper.bat”
可悲的是P4V的说法更换坏了。 你可以使用TortoiseMerge用来版本比较,而不是合并。
要设置TortoiseMerge用来版本比较,使用参数字符串%1 %2
对于合并的正确参数会
/base:%b /theirs:%1 /mine:%2 /merged:%r
但是它给这个错误
据推测,这是怎么回事是P4V不能取代“%B”在/base:%b
使用适当的文件路径。
有一个现有的扩展请求,因为P4V不如果这些参数不是本身为%B,%1,%2和%R替代值。 例如,P4V不能代替:
/base:%b /theirs:%1 /mine:%2 /merged:%r
其通过的TortoiseMerge需要。
然而,一个用户报告说,该命令是由于它的空间工作,一旦他加入周围路径引号。 例如:
开始/ WAIT “C:/程序文件/超越比较3 / BComp.exe” %1%2%3 / mergeoutput =%4
因此,作为一种解决办法,可以在调用的TortoiseMerge脚本增加的%B%1%2%R参数。 在TortoiseMerge中的情况下,你会有这样一行:
c:"\the_path_to_TortoiseMerge" /base:%1 /theirs:%2 /mine:%3 /merged:%4