在源组件中添加和删除文件时的p4 integ命令

时间:2014-01-27 14:40:09

标签: perforce

需要知道p4 integ命令如何在以下情况下工作

我在源组件中添加了一个新文件并编辑了一些文本并删除了相同的文件。

因为我有三个CL CL1,CL2,CL3 ......

现在我想执行p4 merge来合并目标组件中的更改

有人可以告诉我如何使用p4 integ执行上述操作,因为添加和编辑正常但在尝试执行删除操作时会失败,因为目标comopnent中不存在此文件

1 个答案:

答案 0 :(得分:0)

听起来您正试图单独整合三个变更清单,但将它们作为单个目标变更清单提交,即:

p4 integ source@1 target
p4 integ source@2 target
p4 resolve -as
p4 integ source@3 target
p4 submit

第一个命令将打开“branch”的目标。第二个命令将使目标打开以进行“分支”并安排一个将源@2编辑引入其中的解决方案(它将最终成为修改或“脏”分支)。第三个命令将抛出一个错误,因为目标无法在分支中打开并在同一个更改列表中打开以进行删除。

有两种方法可以做到这一点:

A)将所有更改整合为一个单元,而不是手动指定每个更改:

p4 integ source target

这样做的最终结果将是“已经整合的所有修订版”,因为“p4 integration”将一起查看所有更改的总和,将它们应用于目标,并产生nil的净效果 - - 源中的文件已被删除,目标文件不存在,所以这是一个清洗。

B)为源中的每个更改在目标中创建一个更改:

p4 integ source@1 target
p4 submit
p4 integ source@2 target
p4 resolve -as
p4 submit
p4 integ source@3 target
p4 submit

这将使每次更改都干净利落 - 第一个更改列表将是源修订的干净分支,第二个更改列表将是一个干净的副本,第三个更改列表将是一个删除。