accurev merge不';t将文件标题传递给外部合并工具

accurev merge不';t将文件标题传递给外部合并工具,merge,accurev,p4merge,Merge,Accurev,P4merge,我正在使用p4merge作为Accurev的外部合并工具。我为p4merge创建了一个包装器,并为acgui(工具首选项Diff/merge)和CLI(AC\u merge\u CLI变量)设置命令“p4m-dw-tw 8-nb%3%-nl%4%-nr%5%%a%%1%%2%%o%” 它在acgui中成功运行,但当我使用CLI版本(acurev merge)时,acurev不会传递%3、%4和%5的文件标题 怎么了?如何获取CLI的文件标题 UPD:我使用的是Accurev 6.0.1用于dif

我正在使用
p4merge
作为Accurev的外部合并工具。我为p4merge创建了一个包装器,并为
acgui
(工具首选项Diff/merge)和CLI(AC\u merge\u CLI变量)设置命令“
p4m-dw-tw 8-nb%3%-nl%4%-nr%5%%a%%1%%2%%o%”

它在
acgui
中成功运行,但当我使用CLI版本(
acurev merge
)时,acurev不会传递
%3
%4
%5
的文件标题

怎么了?如何获取CLI的文件标题


UPD:我使用的是Accurev 6.0.1

用于diff和merge的命令需要不同,因为Accurev没有为两者传递相同的参数。有关这两个命令的有效参数列表,您需要参考《AccuRev用户CLI指南》

我能够使用以下方法使差速器工作:

c:\Program Files\Perforce\p4merge.exe -dw -tw 4 -nl "%3%" -nr "%4%"  %1% %2%
请注意左右标题周围的双引号以及基本/祖先参数的省略。此外,在diff中,不需要输出文件

由于P4Merge如何处理AccuRev给定的输出文件名,merge命令无法工作。我收到一个错误,说明输出临时文件无效。但是,AccuRev希望合并工具在完成时创建文件,因此这是P4Merge的一个缺点。以下内容可能是与Performce员工讨论的良好起点:

c:\Program Files\Perforce\p4merge.exe -dw -tw 4 -nb "%3%" -nl "%4%" -nr "%5%" %a% %1% %2% %o%

您联系过AccuRev支持部门吗?听起来可能是个缺陷,还没有。我想这可能是一个已知的问题或类似的问题。迈克,实际上我现在正在使用Linux,所以我现在不能在Windows上重现这个问题。如果问题也在Windows上,我会让您知道。无论如何,出于测试目的,您可以创建p2m.bat文件,该文件只将其参数回显到外部文本文件。事实上,如果我使用CLI(在Linux上),Accurev不会传递%3、%4、%5个值。这是我的问题。这可能是一个错误,但我发现标题需要在Windows上引用。我怀疑在Linux上也需要这样做。我编写了简单的Bash脚本p4m“
for last;do echo$last>>~/1.txt;done eval touch$last;eval~/opt/p4v/bin/p4merge$@;exit$?;
”。设置
AC\u MERGE\u CLI='p4m-dw-tw 8-nb“%3%”-nl“%4%”-nr“%5%”%a%%1%%2%%o%”
。然后尝试合并。结果(1.txt)是
-dw-tw 8-nb%3%-nl%4%-nr%5%/tmp/0848-e04e-527e-b4ea.4147951360.basis.1.tmp/tmp/b8cf-0d97-32cd-f820.4147951360.head.1.tmp//tmp/2df3-abf8-7984-400e.4147951360.1.tmp
您可以看到在脚本调用时没有替换%3,4,5。