SVN 1.8 合并与 Git & Mercurial 等 DVCS 相比如何?



3年前我问了一个问题:Git中的合并如何和/或为什么比SVN中的合并更好?

当时我认为我们在SVN 1.6上,但现在我们已经达到了1.8,合并似乎是他们做了大量工作的一个领域。

那么,鉴于这些变化,SVN1.8是否赶上了像git这样的DVCS中更好的合并和分支支持?

SVN 1.8似乎确实有一些进步,"重新集成"现在是一个自动操作。你也不必在分支被合并后跳舞来保持它的活力。

这些对我来说真的很烦人,还好它们已经消失了。

问题是SVN合并似乎总是在处理mergeinfo记录时出现问题。如果您不知道,这些是在合并完成时添加到树中的点的属性。它们记录哪些版本是合并版本的祖先,这样当进行另一次合并时,这些版本中的更改就不会被重新合并。

不幸的是,SVN似乎很困惑,我经常看到它多次应用更改。我个人认为,它记录之前合并内容的方式存在根本缺陷,但我一直无法找出到底出了什么问题。

事实是,分支和合并是SVN的一个事后考虑和低优先级功能,而它是DVCS的一个基本功能。分支在SVN中起作用,我已经大量使用了它。它肯定比某些VCS要好。我认为它永远不会像DVCS中的分支那样好用。

最新更新