无法在Perforce中合并

时间:2014-08-08 21:13:58

标签: perforce perforce-integrate

我有一个使用p4 integrate创建的分支,但现在合并并没有表现出我的期望。当我合并时,我得到以下内容:

$ p4 merge -n ISSUE-49/... trunk/...
...
//depot/products/theProduct/trunk/some/directory/somefile.conf#1 - sync/delete from //depot/products/theProduct/ISSUE-49/some/directory/somefile.conf#1
...

该文件已添加到ISSUE-49分支(未删除),因此我不明白为什么要删除它。

当我尝试使用p4 integrate时,我得到:

$ p4 integrate -n ISSUE-49/... trunk/...
...
//depot/products/theProduct/trunk/some/directory/somefile.conf#1 - branch/sync from //depot/products/theProduct/ISSUE-49/some/directory/somefile.conf#1
...

看起来它正在尝试进行分支而不是合并。是吗?如何安全地将我的更改从ISSUE-49合并回主干?

我正在尝试使用p4 2012.1从Linux上的命令行执行此操作。我的Windows机器上有p4v 2013.3。如果它更容易,我可以使用它。

1 个答案:

答案 0 :(得分:2)

A"合并"操作并不总是导致"整合"修订版 - 它取决于目标文件的当前状态以及源文件中所做的更改。

A"分支" revision是新文件的第一个修订版,它是从其他文件创建的副本。 A"删除" revision表示实际上不存在的文件(通常这是以前存在并已被删除的文件的占位符,但它也可以是从未存在过的文件的占位符。)

" p4 merge"之间的区别和" p4整合"是" p4整合"该文件已打开" branch"立即而不是安排决心。如果你运行" p4 merge"然后是" p4 resolve -am"该文件将打开" branch"就像你运行" p4整合"。

总结:一切都很好。由于该文件尚未存在于主干中,因此ISSUE-49的正常合并将在主干中将其创建为新文件。无论你运行" p4整合" +" p4解决"或" p4合并" +" p4解析",文件将打开" branch",这是将其创建为相同的新文件的操作到ISSUE-49文件。