从Perforce分支Perforce分支

时间:2008-10-29 16:28:11

标签: version-control perforce

Perforce中的路径包含文件a.txt和b.txt。我将主路径称为主线。

我从那里创建了一个分支(称为initialbranch),它只包含a.txt。我对a.txt进行了很多更改,对此非常满意。但是,它还没有准备好提交回主线。我可以轻松地将任何更改集成到主线中出现的a.txt。

另一个项目出现,需要从initialbranch进行更改。现在,假设我想对b.txt进行更改,并希望能够集成在initialbranch和mainline中发生的更改。目前,我从initialbranch分支(称为新分支secondbranch)。以前我一直在将b.txt添加到initialbranch,然后将我的更改集成到secondbranch。有更好的方法吗?

对不起,如果这个问题看起来有点令人费解,我已尽力表达了这一点!

谢谢,

的Dom

2 个答案:

答案 0 :(得分:3)

我不相信我理解你的问题,但我会尽力帮助。

如果你说你不想在initialbranch中使用b.txt,你可以像这样定义一个分支规范:

initialbranch/a.txt secondbranch/a.txt
mainline/b.txt secondbranch/b.txt

这样,当您使用“secondbranch”分支规范进行集成时,您对secondbranch的更改将被推送到initialbranch或mainline。

如果您不想直接将更改从secondbranch推送到主线,那么请执行您已经在做的事情:将b.txt从mainline集成到initialbranch,然后从initialbranch集成到secondbranch。在secondbranch中处理它,然后将更改连续地集成到initialbranch和mainline。

答案 1 :(得分:2)

也许图表可能会有所帮助?

 a,b------------------------------------------------------> mainline
      \ branched                             / integrated back in
       \-a----------------------------------/------------> initialbranch
                     copied from mainline  /
                     -b-------------------/--------------> secondbranch

perforce中的分支很便宜,所以我通常会分支整个目录结构而不是单个文件。

这样做还为时不晚。正如埃里克森所说,不是将文件复制/添加到secondbranch,您只需从主线分支到您的开发分支。

 a,b--------------------------------------------------> mainline
      \ branched    \                             / integrated back in
       \-a-----------\---------------------------/----> initialbranch
                      \ branched from mainline  /
                       -b-----------------------------> secondbranch