在Subversion(SVN)中重新集成到分支(而不是主干)

时间:2011-09-08 21:10:18

标签: svn svn-reintegrate

我知道Subversion(SVN)1.6中有--reintegrate选项将功能分支合并回主干。

我的工作流程有点复杂:

我们有功能分支 - 我们经常合并主干。但我们不会马上把它们放回行李箱。相反,我们从主干创建一个发布分支,并合并功能分支以释放分支。此时我们遇到了很多树冲突(因为在功能分支和主干中都存在很多变化)。

选项--reintegrate在此方案中必须有所帮助,但看起来--reintegrate在合并到除trunk之外的分支时不起作用。这是真的吗?

1 个答案:

答案 0 :(得分:4)

对我来说,除了--reintegrate之外,你不能在任何分支上使用trunk选项。 Subversion在命名或分支的位置上没有任何标准,因此trunk不可能是特殊的。对于Subversion,branchestrunktags仅仅是目录。这些目录对我们来说只是特殊的,因为我们这么说。

--reintegrate选项与以下事实有关:如果我从分支 A 合并到分支 B ,然后尝试从分支合并回来< em> B 分支 A ,我可能正在尝试将东西合并回分支 A ,该分支最初位于分支 A 中。 --reintegrate选项让Subversion知道我正在改变合并的方向,并且不考虑分支 B 中的东西,这实际上是从分支 A合并的结果

重新集成是实际跟踪合并更改的任何版本控制系统中的问题。无论如何,--reintegrate没有必要涉及一个名为trunk的分支。否则,没有真正需要该选项。所有Subversion必须做的就是看到你正在合并到一个名为trunk的分支中,并意识到它可能是一个重新整合。