我倾向于认为大多数人认为SVN是最好的版本控制工具,而VSS则是最糟糕的(至少在版本控制方面如此)。
那么,为什么呢?我用过一些CVS,我的当前工作使用的是VSS,从团队成员的角度来看,我无法真正感受到两者之间有太大的区别。我看到的大部分区别都是表面的。当然,我没有尝试在其中任何一个工具上做任何分支/合并操作,但作为一名程序员,我进来,检出文件,在这些文件上工作,并在一天结束时将它们检入,那么我为什么要选择其中的一个?
我倾向于认为大多数人认为SVN是最好的版本控制工具,而VSS则是最糟糕的(至少在版本控制方面如此)。
那么,为什么呢?我用过一些CVS,我的当前工作使用的是VSS,从团队成员的角度来看,我无法真正感受到两者之间有太大的区别。我看到的大部分区别都是表面的。当然,我没有尝试在其中任何一个工具上做任何分支/合并操作,但作为一名程序员,我进来,检出文件,在这些文件上工作,并在一天结束时将它们检入,那么我为什么要选择其中的一个?
微软公司开发了Visual Source Safe,但他们不在内部使用它来管理任何规模较大的项目。在我看来,这是一个重大的缺陷。如果你用它管理大型项目,你会明白为什么:速度很慢,而且如果你决定让它自动合并任何内容,那就神助你吧。
我的倒数第二家公司由于以下原因从VSS转换到SVN:
我知道人们很容易批评VSS,但是有几件事情很重要(先不要深入细节!)
你不必在所有这些观点上同意我,我只是想证明它确实有其存在的价值,并且在不同的场景中有其用途。
我在使用Java代码的VSS时遇到了问题。当我执行getLatestVersion时,VSS无法处理Java项目和包的嵌套结构。 我得到了相同的无限文件夹结构。在这方面,SVN相对简单。
VSS有一个非常糟糕的历史需要克服。最近的版本似乎更加稳定,但它仍然携带着大量负面包袱。
你应该尽快从VSS中远离。如果你过去没有遇到过它的问题,那么你就要面临一些问题了。这就像是俄罗斯轮盘式的定时炸弹 - 你永远不知道它什么时候会爆炸。
SVN是一个很棒的工具,非常容易设置和管理。备份或复制的管理工具也非常好用。
我会随时推荐使用SVN而不是VSS。
在Visual Studio中集成的旧论点已经不再适用。AnkhSVN 2.0提供了一种集成解决方案,而VisualSVN将TortoiseSVN集成到Visual Studio中。
TortoiseSVN本身就足以让许多用户转换。