linux - 将搁置的更改列表合并到分支中

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

我的一位同事有一个搁置的更改列表 (CL#12345),其中包括编辑和新(添加)文件。所有文件都位于:

//software/my_luggage/main/...

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

//software/my_luggage/beta/...

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

p4 describe -S 12345 > ~/tmp.patch

但是,这有两个问题:

  1. 补丁需要转换为通用的 Unix diff 格式,类似于 p4 diff -du 的输出(我有一个脚本)。
  2. p4 describe 操作的输出不包含新/添加文件中的内容。

有没有一种简单的方法可以p4 unshelve 搁置的更改列表并修改将“应用”搁置的目标,或者我是否必须手动复制并重新添加文件,手动修补个人文件等? 如果可能的话,我更愿意通过命令行而不是 P4V GUI 来执行此操作

最佳答案

制作一个分支规范:

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'.

关于linux - 将搁置的更改列表合并到分支中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44683544/

相关文章:

linux -/etc/network/if-up.d/中的脚本未在连接上运行

linux - 使用 SED 通过带有要删除的行号的索引来删除某些行

git - SVN 提交与 Git 提交

svn - 如何处理依赖于同一来源的多个项目?

vim - 关闭待打开的 vim 窗口

Android studio 无法在 Ubuntu 上安装

linux - 如何从 .t​​ar.gz 制作 .ubi 文件

version-control - 私有(private)变更的用例

c# - Perforce API : Repository. GetChangeLists 返回没有文件的列表

javascript - 如何从控制台日志读取以及如果错误包含字符串 "up-to-data"则通过 'if' 循环而不会出现错误