3 年前我问了一个问题:在 Git 中合并如何和/或为什么比在 SVN 中更好?
那时我认为我们使用的是 SVN 1.6,但现在我们已经达到了 1.8,似乎合并是他们已经完成大量工作的一个领域。
那么鉴于这些变化,SVN 1.8 是否赶上了 git 等 DVCS 中更好的合并和分支支持?
3 年前我问了一个问题:在 Git 中合并如何和/或为什么比在 SVN 中更好?
那时我认为我们使用的是 SVN 1.6,但现在我们已经达到了 1.8,似乎合并是他们已经完成大量工作的一个领域。
那么鉴于这些变化,SVN 1.8 是否赶上了 git 等 DVCS 中更好的合并和分支支持?
SVN 1.8 似乎确实有一些先进的东西,“重新整合”现在是一个自动操作。在分支被合并回来后,您也不必为了让分支保持活力而跳舞。
这些对我来说是真正的烦恼,它们已经消失了,这很好。
问题是 SVN 合并似乎总是在处理 mergeinfo 记录时出现问题。如果您不知道,这些是合并完成后添加到树中点的属性。它们记录了哪些版本是合并版本的祖先,因此当另一个合并完成时,这些版本中的更改不会重新合并。
不幸的是,SVN 似乎很困惑,我经常看到它多次应用更改。我个人认为它记录之前合并的内容的方式存在根本缺陷,但我一直无法弄清楚到底出了什么问题。
事实上,分支和合并是 SVN 的事后考虑和低优先级功能,而它是 DVCS 的基本功能。分支在 SVN 中工作,我已经大量使用它。它肯定比一些 VCS 更好。我认为它永远不会像在 DVCS 中分支那样有效。