branch - 如何整合两个未提交的Perforce分支?

标签 branch perforce changelist

我遇到了这个问题: 有两个分支,均已更改,未提交。分别命名为Project-A和Project-B; 现在,我想将 A 合并/集成到 B。我有一些想法来做到这一点。

  1. 构建一个新分支并合并旧的两个分支。

    • 构建一个名为 Project-C 的新分支
    • 提交项目 A;这样我就可以查看 A 到 C(将 A 复制到 C)
    • 在C内,使用p4整合B;然后将 A 集成到 B
  2. 使用变更列表进行集成,因为 Perforce 使用变更列表(提交 | 搁置)进行管理。

    • 获取 A 的最新变更列表
    • 在B内,使用p4积分A;现在 B 已与 depot 中的 head 版本合并
    • 将A的changlist复制到B;这样 B 就可以根据 A 中的更改进行更新。
    • 提交B
  3. 使用差异和补丁

    • 将 A 与软件仓库中的版本进行比较
    • 给B打补丁

我是Perforce的小白,所以描述上会有一些错误。这三个想法还没有测试,因为我害怕破坏我团队的分支。

所以,我的问题是:三种解决方案中的一种有效吗? & 哪一种是最好的?

非常感谢。

干杯。

最佳答案

使用 2013.1 版本的 Perforce 服务器,您可以通过分支规范取消搁置,因此执行此操作的过程是:

  1. 搁置项目 A 的更改
  2. 搁置项目 B 的更改(可选)
  3. 创建一个分支 View ,将项目 A 映射到项目 B
  4. 使用步骤 3 中的分支 View 将步骤 1 中的工具架取消搁置到打开了项目 B 文件的工作区中。

服务器将计划将步骤 (1) 中搁置的内容与项目 B 工作区中打开的文件进行集成和合并。

解决集成合并后,您可以比较所有更改并继续进行或进行进一步更改。

在步骤(2)中搁置项目 B 的更改的原因是,如果您不喜欢集成和合并的结果,您可以恢复所有内容并从搁置的工作重新开始流程。

关于branch - 如何整合两个未提交的Perforce分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15939662/

相关文章:

file - 强制 : passing file extensions in a "diff" command

java - 如何使用 perforce java api 将更改列表合并到另一个分支

Django 管理更改列表过滤/链接到其他模型

perforce - 如何在 Perforce 中快速查找/删除所有空的更改列表?

git - 如何安全地删除远程 git 分支?

git - 新的提交不在头上

perforce - 如何在 perforce 中重命名分支规范?

git - DVCS中不同分支模型的优缺点

git - 直接从 .git 中删除头文件是否安全?

Perforce - 将本地文件标记为最新版本