svn:在trunk之外的分支之间合并

我们有一个SVN项目,我工作的分支B,以及同事工作的分支C. (他主要在一个代码区域工作,我主要在另一个领域工作)

如果我们希望在对主干进行任何合并之前保持同步,他和我应该如何合并?

我们在合并内容时没有任何问题,但内容(特别是svn:mergeinfo,由于显而易见的原因)不断显示树冲突并且总是给我们带来麻烦.

我们应该做什么?

最佳答案 如果您可以在同一个分支中工作,那么考虑对一个分支进行所有更改的无基本合并,并放弃另一个分支.如果您的分支中有其他必须保持分离的更改,那么请仔细考虑选择应该无根据合并到单个分支的更改,然后在源分支中还原这些更改.

结构(供参考):

>树干

>分支A.
>分支B.

过程将类似于以下内容:

> FI(前向整合)两个孩子的主干. (将Trunk合并到分支A,然后将Trunk合并到分支B).
>从B到A的无基础合并.
>放弃B(至少锁定以防止意外使用退役分支).
> FI Trunk to A(重新建立合并关系并在引入进一步更改之前消除任何合并冲突.
>您和其他开发人员继续在分支A开发直到稳定.
> FI Trunk to A(从其他开发者或其他主干活动中获取最新更改)
>在A中快速构建并运行烟雾测试(确认FI成功且A仍然稳定)

>如果在烟雾测试期间发生更多干线变化,则重复6& 7或可能锁定行李箱直到步骤6-8完成.

> RI(反向积分)A到中继线

IDEA:如果可能的话,避免将来在子分支之间共享不稳定的变化.与标准的完全父子合并相比,无基础合并和挑选更改都是风险较高的操作.一个应用是使用公共开发分支,然后仅在需要时按功能分支.所有开发人员都使用公共dev分支进行更改.当破坏变更需要多个开发人员构建和稳定创建功能分支时.一旦稳定整合回Dev分支并退出功能分支.

点赞