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

How to treat a shelved CL in Perforce as a patch?

假设我在星期一创建了一个编号为 2903395 的搁置更改列表 (CL)。修改一直没有提交,其他的修改提交了,而且触动了我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 shelved 时的状态,包括 "have revision" 跟踪它们所基于的软件版本 - 仅当您 p4 sync 更新以反映新提交的修订时,然后 p4 resolve 将更改合并到