为什么不能将该分支合并到主干中?
有不同的方法可以在 subversion(以及其他所有 rcs)中维护分支等。您直观地设置的是传统方式:您创建文件夹并复制分支/主干/标签之间的文件夹修订之间的差异。这行得通,因为 svn 层次结构中的节点只不过是一个文件夹。svn中没有什么特别的魔法。
Subversion 只不过是一个带有附加时间轴的文件系统。
因此,您所要做的就是将您提交给分支节点的更改(修订)合并到主干中:
svn merge -r <start>:<current> https://<server>/<repo>/<path>/branches/dev <trunk-checkout>
(也就是说:如果您的分支最初包含主干的一些修订。但我认为它确实如此,因为您没有另外说。如果它完全独立于主干,那么为什么它被称为分支?而且:更重要的是:为什么你想把它合并到主干吗?)
2013-01-26 更新:
讨论表明,这种情况涉及一个空主干,从未填充也从未使用过,因此没有任何东西可以合并分支中的任何更改。取而代之的是,整个开发项目起源于一个被称为“分支”的东西,它实际上是这个项目的唯一“主干”。
所以解决方案看起来像这样:在这种情况下,只需将当前称为分支的内容移动为项目主干,并以新的(更合适的)名称继续开发。开发要么在新的结帐内完成,要么通过重新定位现有的结帐来完成。从现在开始,分支应该按照下面描述的方式使用。所以更正不合适的名称并调整当前情况,使其与项目的典型措辞相匹配:
- 主干是完成或巩固“主要”开发线的地方
- 主干是分支内部的发展被重新合并到的地方
- 可以通过在给定时间点分叉主干来创建多个分支
- 在这些分支内部,复杂的开发可以与主干的其他更改一起实施,而不会干扰
- 当那些更复杂的开发完成并且新功能或架构变得稳定(“准备好”)时,可以将来自分支的更改合并回主干