2011-07-06 59 views
4

我们有一个SVN项目,其中分支B是我工作的,分支C是同事工作的。 (他主要工作在一个代码区域,我主要工作在另一个区域)svn:除主干以外的分支之间的合并

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

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

我们该怎么办?

+0

因为他在他的领域是出血性的(即阿尔法状态或更糟糕的),而我在我的领域是流血的边缘,我们需要保持分离状态,直到我们各自的分支处于良好状态,此时我们再次合并。 –

+0

感谢您的回复。 –

+0

@Vivek:你为什么要删除你的评论?这是一个有效的观点,但现在情况已经消失。 –

回答

2

如果你们都可以在同一个分支上工作,那么可以考虑对所有分支进行无基础合并,并放弃其他分支。如果您的分支中有其他更改必须保持独立,请仔细考虑挑选合并到单个分支的变更,然后还原源分支中的更改。

(供参考)结构:

  • 中继线
    • A分支
    • 科乙

过程会是这样的以下内容:

  1. FI(Forward Integrate)Trunk to both children。 (合并中继线到分支A,然后中继线到分支B)。
  2. Baseless merge from B to A
  3. 放弃B(至少锁定以防止意外使用退休分支)。
  4. FI干线到一个再次(重新建立合并关系,熨平引入进一步的更改之前的任何合并冲突。
  5. 你和其他开发人员继续在分支一个直到稳定发展。
  6. FI干线到一个(拿起其他开发商或其他主干活动的最新变化)
  7. 快速建立和运行冒烟测试(确认FI成功,A是ST病态稳定)
    1. 如果在烟雾测试过程中出现更多干线变化,则重复6 & 7或可能锁定后备箱,直至完成第6至8步。如果有共享在未来孩子分支之间不稳定的变化可能避免:
  8. RI(逆向整合)A到中继线

IDEA。无标准合并和樱桃采摘变更都是比标准完整的父母子女合并更高的风险操作。一个评价是使用共同的开发分支,然后只在需要时才按功能分支。所有开发人员都使用通用开发分支进行更改。当发生变化时需要多个开发人员构建&稳定创建功能分支。一旦稳定集成回Dev分支并退出功能分支。

+0

对于信息+努力+1,但它不是一个真正便捷的工作方式。 –