2014-02-18 36 views
0

我正在使用p4merge作爲Accurev的外部合併工具。我爲p4merge創建了一個包裝,併爲acgui(工具 - 首選項 - 差異/合併)和CLI(AC_MERGE_CLI變量)設置了命令「p4m -dw -tw 8 -nb %3% -nl %4% -nr %5% %a% %1% %2% %o%」。accurev合併不會將文件標題傳遞給外部合併工具

它成功地工作在acgui,但是當我使用CLI版本(accurev merge <filename>),AccuRev的不傳文件,標題爲%3%4%5

它有什麼問題?我如何獲得CLI的文件標題?

UPD:我使用的AccuRev 6.0.1

+0

您是否聯繫過AccuRev支持?聽起來這可能是一個缺陷。 – jstanley

+0

還沒有。我認爲這可能是一個已知的問題或類似的事情。 – Rom098

回答

1

的差異的命令和合並將需要不同asAccuRev沒有通過相同的參數兩種。您需要參閱「AccuRev用戶CLI指南」以獲取這兩個命令的有效參數列表。

我能得到的DIFF使用工作如下:

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

公告左右標題和底座/宗參數遺漏周圍的雙引號。另外,在diff中,沒有預期的輸出文件。

由於P4Merge處理AccuRev給出的輸出文件名,合併命令不起作用。我收到一個錯誤,指出輸出臨時文件無效。但是,AccuRev希望合併工具在完成​​時創建文件,因此這是P4Merge的一個缺點。以下可能是與Perforce人討論的一個很好的起點:

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

邁克,其實我現在正在使用Linux,因此我現在無法在Windows上重現此問題。如果問題出現在Windows上,我會通知你。無論如何,出於測試目的,您可以創建p2m.bat文件,它只是將其參數回顯到外部文本文件。事實是,在我使用CLI(在Linux上)的情況下,Accurev不會傳遞%3,%4,%5的值。這是我的問題。 – Rom098

+0

這可能是一個錯誤,但我發現標題需要在Windows上引用。我懷疑同樣可能需要在Linux上完成。 –

+0

我寫簡單的bash腳本P4M「 '去年;不要回聲$最後>>〜/的1.txt;完成 EVAL觸摸$最後, EVAL〜/選擇/ P4V /斌/ p4merge $ @; 退出$? ;' 「。設置AC_MERGE_CLI ='p4m -dw -tw 8 -nb「%3%」-nl「%4%」-nr「%5%」%a%%1%%2%%o%''。然後嘗試合併。結果(1.txt的)是'-dw -tw -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在腳本調用中沒有被替換。 – Rom098