我在Perforce存储库中遇到以下分支情况:有一个主线“trunk”和两个发行分支“1.0”和“1.1”。具有客户特定更改的分支“客户”已从1.0分支分支出来。现在,客户希望移至1.1版。如何将1.1分支合并到客户分支?客户特定的更改应保持在1.1之上。
这是一个受影响文件的图表:
1.1 -(1)---(2)---(3)
/ \ \
/ \ \
trunk 100--(101)-(102)--103---104---105---106---107
\
\
1.0 ---1-----2--...
\
\
customer ---1-----2----*3*
我正在查看的文件的当前版本是客户分支上的修订版3。
如果我选择将分支“1.1”与目标“客户”集成在一起,我希望可以找到两者的共同祖先(主线上的修订版100),并且从那里到1.1分支顶端的所有修订版都将合并(在括号内)。
取而代之的是,Perforce仅提供合并1.1分支的修订版1至3的操作,但失败了,因为它错过了之前在主线上进行的必要更改。
如何说服Perforce这样做而不必手动查看每个文件并选择要合并的修订版?也许分支策略不合适?我还应该怎么办?
最佳答案
为了使集成变得容易,我将创建一个特定的分支trunk_to_custer和1.1_to_customer,然后发出:
cd customer-workspace
p4 integ -b trunk_to_customer @change-number-at-which-1.1-was-branched
p4 resolve
也许是介于两者之间的提交,然后
p4 integ -b 1.1_to_customer
p4 resolve
p4 submit
关于branch - Perforce:如何在多个分支机构之间进行集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913365/