1

我的同事有一個擱置的更改列表(CL#12345),其中包含編輯和新的(添加的)文件。該文件中的所有生活中:將擱置的changlist合併到分支

//software/my_luggage/main/... 

我想unshelve這些變化,並將它們應用到位於分支:

//software/my_luggage/beta/... 

我嘗試了產生,並通過手動應用補丁:

p4 describe -S 12345 > ~/tmp.patch 

然而,這樣做有兩個問題:

  1. 補丁需要轉換爲普通的Unix比較格式,類似於p4 diff -du的輸出(我有一個腳本)。
  2. p4 describe操作的輸出不包含新/添加文件中的內容。

有沒有一種簡單的方法來p4 unshelve一個擱置變更列表和修改的目標位置的貨架將是「應用」,或做我必須手動複製和重新添加文件,手動補丁單個文件,等等? 我寧願通過命令行來完成,而不是P4V GUI,如果可能的話

回答

2

做一個分支與規格:

Branch: luggage_beta 
View: 
    //software/my_luggage/main/... //software/my_luggage/beta/... 

運行:

p4 unshelve -b luggage_beta -s 12345 
p4 resolve 

您將需要2013.1或更高版本的Perforce服務器:

Major new functionality in 2013.1 

    #538913 (Bug #36686) ** 
     Shelved changes may now be unshelved into different branches 
     or related streams via 'p4 unshelve -b' and 'p4 unshelve -S'. 
     See 'p4 help unshelve'. 
相關問題