p4的分支建立和整合過程主要包含4個步驟:
(1) 使用『p4 branch』建立branch spec;
(2)使用』p4 integrate『來實現分支間的整合;
(3)使用『p4 resolve』來完成衝突的合併;
(4)使用『p4 submit』提交整合的結果。
如下為在p4v中的操作。
一 建立branch spec
二 建立新的分支
如下過程建立2012rtm分支!
2) 提交整合
3)提交後如下
三 分支間的整合
如下過程為從2012rtm 到 main的整合。
2) 在有衝突的檔案右鍵->resolve (通常選擇accept merged 或者run merge tool手動merge)
3) 提交合併
四 p4 integrate 和 p4 resolve的注意事項
1 )p4分支的整合也支援沒有branch spec的形式,如 『p4 integrate fromfile tofile』,如果沒有使用branch spec或fromfile與tofile沒有共同的base的時候需要使用-i引數來強制整合。
2)對『p4 integrate』使用-v引數來避免將integrate的結果自動sync到本地,但是大部分情況我們需要合併,所以需要sync到本地。
3)對『p4 integrate』使用-r表示與branch spec相反的方向的整合。
4)預設地在『p4 integrate』命令後本地workspace的檔案任然為唯讀的,如果需要修改則必須先使用『p4 edit』命令。
5)對『p4 integrate』命令使用-dt -ds,-dt表示目標檔案被刪除了,但是原始檔還在,則整合結果為原始檔; -ds表示如果原始檔刪除了,整合結果為任何對之前對目標檔案的修改也被刪除。
6)在指令碼中自動整合時,可以對『p4 resolve』使用 -am或-as引數,差別為:
-am表示accept merged,具體為如果theirs與base一致,接受yours,如果yours與base一致,接受theirs,如果yours和theirs都與base不同,但是yours和theirs沒有衝突,接受自動merged的結果,否則如果yours和theirs也有衝突,則忽略此檔案。
-as比-am更嚴謹,不管yours與theirs是否有衝突,只要yours和theirs都與base有不同就忽略此檔案。
7)在使用『p4 resolve -am』或『p4 resolve -as』後,可以使用『p4 resolve -n』來參看沒有自動merged忽略的檔案,如果有檔案沒有自動merge成功,則需要手動merge,否則可以直接提交。
8) 例項 :
p4 integrate -b %branchname% -dt -ds
p4 resolve -am
p4 resolve -n
p4 submit (如果p4 resolve -n 命令檢測到沒有檔案merge失敗,則submit可以自動執行,否則需要手動merge,然後再submit)
完!
Perforce的各種命令
在以前的公司 控制用的是cvs,到這家公司用的是perforce,中國恐怕沒有幾家公司用這個玩意,老美的愛好,又或者是expedia那幫ms出身的愛好。今天對於perforce的命令列稍做了些研究,主要用到了以下這些常用的命令 color blue p4 user p4 client p4 add,...
Perforce的環境變數配置
1.如果使用的是perforce的視覺化的client的話,connection,user,name,password等都是可以在頁面上設定的 可以如果想使用command的操作或是自動化 更新的話,就要配置相應的環境變數了 在系統的環境變數中加入以下配置 p4port ip port port d...
Perforce的環境變數配置
1.如果使用的是perforce的視覺化的client的話,connection,user,name,password等都是可以在頁面上設定的 可以如果想使用command的操作或是自動化 更新的話,就要配置相應的環境變數了 在系統的環境變數中加入以下配置 p4port ip port port d...