2010-04-16 88 views
4
(A) ------- (B) ----------- (C) 
|   |    | 
Trunk ReleaseBranch DeveloperBranch 

開發人員在C分支中工作並檢入所有文件。然後修改後的文件被標記在C分支中。部署的二進制文件是從B分支 構建並標記的。目前所有這些都是手動的。Perforce Howto?在分支之間同步/合併文件

在Perforce中,是否有一種簡單的方法來完成這種合併基於標籤等的分支?

回答

12

目前尚不清楚您已擁有多少自動化功能,或者您尋求多少自動化功能。 Perforce本身提供了跟蹤集成和分支的工具,但是如果你想做自動化構建和標籤等事情,你需要將源代碼控制界之外的東西放到發佈管理/自動化領域。

我會假設你有兩個分支:

(B) //depot/yourcode/rel/... 
(C) //depot/yourcode/dev/... 

這些分支代碼佈局大致相似裏面,雖然開發將會比相對較新的(也可能是buggier)。 (你的文本沒有解釋你在幹什麼,所以我忽略它。)

假設你在開發中發生了變化,你想發佈代碼。使用要發佈的文件創建一個標籤(讓我們稱它爲MYCODE_DEV.1.0)。

p4 integrate //depot/yourcode/dev/[email protected]_DEV.1.0 //depot/yourcode/rel/... 

MYCODE_DEV.1.0標籤發佈分支集成:您可以將它集成到相對。 Perforce會跟蹤您合併的文件修訂版本以及未合併的文件修訂版本,因此它只會合併新代碼。如果您對不在開發中的rel進行了更改,則需要解決更改(自動或手動)。然後,您可以將更改檢入rel,創建一個新標籤並從此處釋放。

(由於Perforce公司保持跟蹤你已經合併了什麼,如果你再次嘗試整合相同的標籤,Perforce公司會禮貌地拒絕做任何事,但你可以忽略它,如果你認爲你知道更好。)

(如果您閱讀Perforce文檔,可以找到對「分支規範」的引用,它允許您聲明一個命名分支作爲在集成命令中指定源分支和目標分支的簡寫。分支規格對於維護複雜的分支與分散在多個目錄中的源文件,但並不真正爲這裏的簡單示例增加價值。)

Perforce爲您提供工具您需要設置分支機構和發行版以實現您的目標,這些目標可以輕鬆編寫,但不直接執行自動發佈。

+0

不錯的答案。非常感謝。 – 2010-04-19 14:56:12

相關問題