2011-11-09 27 views
2

我正在編寫一個構建腳本,它可以獲取特定變更列表的所有源代碼並構建它。我希望能夠隨時運行腳本,而不必擱置本地更改或將文件移動到臨時位置。該腳本將被其他擁有自己的工作空間的人員使用。p4同步到備用位置

我認爲這將是最容易的,只需從Perforce獲取所有源代碼在臨時位置並從那裏構建即可。不幸的是,p4 sync似乎不支持這一點,它只會將文件放入工作區指定的客戶端視圖中,這意味着它會在將文件複製到臨時位置之前覆蓋本地更改。

有什麼方法可以使用p4將文件從Perforce複製到任意位置?

+0

FWIW我已經知道將構建過程的「構建輸入」步驟與「變換輸入到輸出」步驟結合起來不是一個好主意。保持它們分離可以更容易地確定使用哪些輸入,並且更容易在CI服務器上自動運行。 –

回答

9

您可以創建構建腳本專用工作區,然後通過使用

p4 -c [workspace name] sync [depot path] 

這是一個持續構建系統通常會做有生成腳本同步到它。在這種情況下,務必將工作區規範的Host:部分填空以便它可以在多個系統上使用。

另一種方法可能是使用帶-o選項的p4打印將文件轉儲到任意位置而不同步它們。

0

只能對客戶端規格進行P4同步。可能地,您需要創建另一個客戶端規格並同步到該客戶端規格。