将搁置的changlist合并到分支

时间:2017-06-21 18:23:46

标签: linux version-control perforce perforce-integrate perforce-branch-spec

我的一位同事有一个搁置的变更清单(CL#12345),其中包括编辑和新的(添加的)文件。这些文件都存在于:

//software/my_luggage/main/...

我想unshelve这些更改,并将它们应用于位于以下位置的分支:

//software/my_luggage/beta/...

我尝试通过以下方式生成并手动应用补丁:

p4 describe -S 12345 > ~/tmp.patch

然而,这有两个问题:

  1. 需要将补丁转换为常见的Unix diff格式,类似于p4 diff -du的输出(我有一个脚本)。
  2. p4 describe操作的输出不包含新/已添加文件中的内容。
  3. 是否有一种简单的方法p4 unshelve搁置的更改列表并修改“应用”搁板的目的地,或者我是否必须手动复制和重新添加文件,手动修补单个文件等? 我更喜欢通过命令行,而不是P4V GUI,如果可能的话

1 个答案:

答案 0 :(得分: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'.