Perforce 怎么办?在分支之间同步/合并文件

Perforce 怎么办?在分支之间同步/合并文件,perforce,Perforce,开发人员在C分支工作并签入所有文件。修改后的文件将在C分支中标记。部署的二进制文件是从B分支构建的 并贴上标签。目前所有这些都是手动的 在Perforce中,有没有一种简单的方法来实现这一点,比如根据标签合并分支等?目前还不清楚您已经实现了多少自动化,或者您寻求了多少自动化。Perforce本身提供了跟踪集成和分支的工具,但是如果您想进行自动化构建和标记,那么您需要从源代码控制的世界中寻找发布管理/自动化的世界 我假设您有两个分支: (A) ------- (B) ----------- (C)

开发人员在C分支工作并签入所有文件。修改后的文件将在C分支中标记。部署的二进制文件是从B分支构建的 并贴上标签。目前所有这些都是手动的


在Perforce中,有没有一种简单的方法来实现这一点,比如根据标签合并分支等?

目前还不清楚您已经实现了多少自动化,或者您寻求了多少自动化。Perforce本身提供了跟踪集成和分支的工具,但是如果您想进行自动化构建和标记,那么您需要从源代码控制的世界中寻找发布管理/自动化的世界

我假设您有两个分支:

(A) ------- (B) ----------- (C)
 |           |               |
Trunk  ReleaseBranch   DeveloperBranch
在这些分支中,代码布局大致相似,不过dev将比rel更新(可能更麻烦)。(你的文本没有解释你在用trunk做什么,所以我忽略它。)

假设您正在dev中开发,并且希望发布代码。您可以使用要发布的文件创建一个标签(我们称之为
MYCODE_DEV.1.0
)。您可以通过以下方式将其集成到rel中:

(B) //depot/yourcode/rel/...
(C) //depot/yourcode/dev/...
它从MYCODE_DEV.1.0标签集成到发布分支。Perforce跟踪您合并的文件修订和未合并的文件修订,因此它只合并新代码。如果您对rel进行了不在dev中的更改,则需要解决这些更改(自动或手动)。然后,您可以将更改签入rel,创建一个新标签,然后从那里发布

(由于Perforce会跟踪您合并的内容,如果您再次尝试集成同一标签,Perforce会礼貌地拒绝做任何事情,但如果您认为您更了解,您可以覆盖它。)

(如果您阅读Perforce文档,您会发现对“分支规范”的引用),它使您可以声明一个命名分支,作为在集成命令中同时指定源分支和目标分支的简写。分支规范对于维护源文件分散在多个目录中的复杂分支特别有用,但并不真正为这里的简单示例增加价值。)


Perforce为您提供了设置分支和发布以实现目标所需的工具,这些工具可以很容易地编写脚本,但不能直接执行自动发布。

回答得不错。非常感谢你。
p4 integrate //depot/yourcode/dev/...@MYCODE_DEV.1.0 //depot/yourcode/rel/...