SVN?VSS?为什么一个比另一个更好?

17

我倾向于认为大多数人认为SVN是最好的版本控制工具,而VSS则是最糟糕的(至少在版本控制方面如此)。

那么,为什么呢?我用过一些CVS,我的当前工作使用的是VSS,从团队成员的角度来看,我无法真正感受到两者之间有太大的区别。我看到的大部分区别都是表面的。当然,我没有尝试在其中任何一个工具上做任何分支/合并操作,但作为一名程序员,我进来,检出文件,在这些文件上工作,并在一天结束时将它们检入,那么我为什么要选择其中的一个?


请参见https://dev59.com/uXVC5IYBdhLWcg3weA8- - krosenvold
13个回答

39
"Visual SourceSafe?把你所有的代码打印出来,通过碎纸机处理,然后点燃它会更安全。" -(据信是一位未知的微软员工所说)。
SourceSafe存在许多问题,没有可取之处。有几个免费跨平台的替代品更安全、更快、更强大。Subversion可能是其中使用最广泛的。有些人喜欢分布式版本控制系统,例如GitMercurialBazaar
关于为什么VSS如此糟糕的一些阅读材料: "

3
点赞因为你让我笑得太夸张了,以至于我的同事们问我是否没事...;-) - Paul Sonier

10

微软公司开发了Visual Source Safe,但他们不在内部使用它来管理任何规模较大的项目。在我看来,这是一个重大的缺陷。如果你用它管理大型项目,你会明白为什么:速度很慢,而且如果你决定让它自动合并任何内容,那就神助你吧。


2
我一直以为微软从来没有在任何地方使用过Visual SourceSafe。 - Greg Hewgill

6

VSS不是原子性的,因此在另一个用户进行大型检入期间进行获取最新操作将导致文件集不完整。如果在WAN上工作,则情况会更糟,因为VSS的设计是在共享上工作。


5

我的倒数第二家公司由于以下原因从VSS转换到SVN:

  1. 扩展。程序员数量翻了一番,我们不想为额外的VSS许可证付出更多。
  2. 漏洞。VSS擅长维护文件的最新版本,但历史记录经常会损坏。
  3. 更多漏洞。检查/恢复工具在数据库变得非常大时开始崩溃,变得毫无用处。

3

相比CVS/VSS,SVN具有一些重要的特性,例如原子提交、廉价复制、服务器端存储更高效。

然而,SVN并不是唯一的版本控制系统...有许多不同的版本控制应用程序。一个新的趋势似乎是向分布式版本控制发展,例如GitMercurial


3

我知道人们很容易批评VSS,但是有几件事情很重要(先不要深入细节!)

  • 对于小型Microsoft开发团队来说,VSS是一种非常容易实现的解决方案,否则就没有版本控制。
  • VSS没有成本,不需要服务器(除了文件共享)。
  • 最低公共分母。
  • 它通常是有效的,许多商店都在使用它。
  • 我宁愿将VSS作为一个选项,也不希望它不存在。

你不必在所有这些观点上同意我,我只是想证明它确实有其存在的价值,并且在不同的场景中有其用途。


它依赖文件共享而不是服务器是其大多数缺陷的根源。 - Dan Dyer
1
“有一些商店使用它”是明显的低估。VSS虽然比没有好,但已经成为瘟疫。令人惊讶的是,有多少商店不知道还有更好、免费的替代品。 - Darcy Casselman

1

我在使用Java代码的VSS时遇到了问题。当我执行getLatestVersion时,VSS无法处理Java项目和包的嵌套结构。 我得到了相同的无限文件夹结构。在这方面,SVN相对简单。


1

VSS有一个非常糟糕的历史需要克服。最近的版本似乎更加稳定,但它仍然携带着大量负面包袱。


最新版本?你是指6.0b吗?它是在2001年与.NET 1.0框架和Visual Studio 2002一起发布的。 - Nick Berardi
"Metric Crap Ton?我笑了!" - Pulsehead
VSS 的最新版本是 VSS 2005。 - crashmstr
你说得对。我应该更加具体。我目前正在使用的是2005版本(8.0),实际上并不是新版本,而是在2005年发布的。 - EBGreen
只是为了明确起见,在家里我使用SVN来管理自己的代码,因为我喜欢支持微软的竞争对手,因为竞争是好的。 - EBGreen

1

你应该尽快从VSS中远离。如果你过去没有遇到过它的问题,那么你就要面临一些问题了。这就像是俄罗斯轮盘式的定时炸弹 - 你永远不知道它什么时候会爆炸。

SVN是一个很棒的工具,非常容易设置和管理。备份或复制的管理工具也非常好用。

我会随时推荐使用SVN而不是VSS。


1

在Visual Studio中集成的旧论点已经不再适用。AnkhSVN 2.0提供了一种集成解决方案,而VisualSVN将TortoiseSVN集成到Visual Studio中。

TortoiseSVN本身就足以让许多用户转换。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接