如何将Perforce中搁置的CL作为补丁处理?

如何将Perforce中搁置的CL作为补丁处理?

问题描述:

假设我在周一创建了一个搁置的更改列表(CL),编号为2903395。改变从未提交,但其他修改是,并且他们触及了我的CL的文件。如何将Perforce中搁置的CL作为补丁处理?

周二,我想申请的搁置CL,并提交:

p4 unshelve -s 2903395 

但在这里会发生什么:现在其他人所做的更改我的文件将被丢弃,并应用于我原来的变化。 这不是我想要的:我希望我的更改能够应用于其他人所做的更改。我怎样才能做到这一点?

我来自Git,所以我在周二做git format-patch,周二做git am

无需乱用补丁; Perforce自动处理它!这样做:

p4 unshelve -s 2903395 
p4 sync 
p4 resolve -am 

当你p4 unshelve将文件恢复到他们在当你p4 shelve d的状态,包括“有一个修订版”,跟踪其仓库修订它们是基于 - 只有当你p4 sync做到这一点得到更新以反映新提交的修订版本,然后p4 resolve合并更改。

+0

如果您要这样做将您的货架“重新装订”到当前主头,您可以(a)在同步和解析之后用新文件替换当前的文件夹,或者(b)在此时用新文件创建新文件夹。这主要是品味的问题,虽然每个搁板都会占用一些服务器资源。 –