2

我有一个使用创建的分支,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 中的更改合并回主干?

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

4

1 回答 1

2

“合并”操作不一定总是导致“集成”修订——它取决于目标文件的当前状态和源文件中所做的更改。

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

“p4 合并”和“p4 集成”之间的区别在于,使用“p4 集成”,文件会立即为“分支”打开,而不是安排解析。如果您运行“p4 merge”,然后运行“p4 resolve -am”,则该文件将为“branch”打开,就像您运行“p4 integration”一样。

总结:一切都很好。由于该文件尚不存在于主干中,因此来自 ISSUE-49 的正常合并会将其作为新文件在主干中创建。无论您运行“p4 集成”+“p4 解析”还是“p4 合并”+“p4 解析”,文件都将为“分支”打开,这是将其创建为与 ISSUE 相同的新文件的操作-49 文件。

于 2014-08-08T21:36:22.553 回答