2

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

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

    • 建立一个名为 Project-C 的新分支
    • 提交项目A;所以我可以检查 A 到 C(复制 A 到 C)
    • 在 C 内,使用 p4 积分 B;然后将 A 集成到 B
  2. 使用 changelist 进行集成,因为 Perforce 使用 changelist(submit | shelve) 进行管理。

    • 获取 A 的最新变更列表
    • 在 B 内,使用 p4 积分 A;现在 B 与 depot 中的 head 版本合并
    • 将A的changlist复制到B;所以 B 可以随着 A 的变化而更新。
    • 提交 B
  3. 使用差异和补丁

    • 将 A 与仓库中的版本进行比较
    • 补丁到 B

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

所以,我的问题是:这三种解决方案中的一种会起作用吗?&哪一个会是最好的?

非常感谢。

干杯。

4

1 回答 1

2

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

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

服务器将针对项目 B 工作区中打开的文件安排步骤 (1) 中搁置的内容的集成和合并。

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

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

于 2013-04-11T14:05:12.870 回答