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