2013-04-11 58 views
2

我已经得到这个问题: 有两个分支,两个都已经被更改并且没有被submit.Named Project-A和Project-B; 现在,我想合并/整合A到B.我有一些想法来做到这一点。如何整合两个未提交的Perforce分支?

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

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

    • 得到的B内部一
    • 最新变更表,使用P4整合;现在B与仓库中的头版合并
    • 将A的变更表复制到B;所以B可以与A.
    • 的变化更新提交乙
  3. 使用diff &补丁

    • DIFF A到版本库
    • 补丁到B

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

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

非常感谢。

干杯。

回答

2

随着2013.1版本Perforce服务器,你可以通过一个分支规范取消搁置,所以对于这样的过程是:

  1. 搁置项目的变化的
  2. 搁置项目B中的变化(可选)
  3. 创建将项目A映射到项目B的分支视图
  4. 使用步骤3中的分支视图取消搁置步骤1中的搁板到打开项目B文件的工作空间中。

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

解决了整合合并之后,您可以对所有更改进行比较,并且可以继续处理它们或进行进一步更改。

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

+0

嗨,“创建一个分支视图,将项目A映射到项目B”这是否意味着创建一个新的分支映射到新的分支(分支B真的存在,所以新的分支应该是C)? – 2013-04-12 07:25:15

+0

或者这意味着:因为他的分支B真的存在,所以新的分支会合并A和B? – 2013-04-12 07:36:15

+0

“分支视图”不是分支。它是一种定义两组文件之间映射的表单,但它本身不会创建分支。您将在此处使用它来告诉Perforce如何将A中的文件与B中的文件相关联。查找文档_p4 branch_ [2013.1 Command Reference](http://www.perforce.com/perforce/doc.current/manuals) /cmdref/cmdref.pdf) – William 2013-04-12 14:14:53

相关问题