SVN vs VSS vs CVS比较帮助

Neo*_*der 5 svn cvs version-control visual-sourcesafe

我们目前正在确定是否将CVS和VSS项目移动到单个SVN服务器.

我一直在使用SVN很长一段时间但是被迫使用CVS和VSS来完成工作.

你能不能帮我解释一下为什么搬到SVN会比买VSS 2005更好?从CVS到SVN的好处是什么?

我们在C#.NET/Java/Perl/Visual Basic中有项目.

除了成本差异之外,我还能对老板说些什么来说服他们转向svn.

还有一种方法可以在移动到SVN时保留VSS和CVS的历史记录吗?

Hec*_* Jr 10

这是需要大量细节的问题之一,但它将归结为"你为什么喜欢使用SVN?" 以及你可以从"喜欢"列表中使用什么来呈现给你的老板.

我用过这三个.我只能说出自己的经历和偏见.我的使用历史是VSS - > CVS - > SVN

CVS

优点:

  • 它可以在互联网上使用
  • 非常稳定

缺点:

  • 重命名很难.这会引起很多痛苦.

我的主要成果是客户端软件.我发现所有客户端软件都不连贯和脱节.我绝对讨厌使用它.

VSS

优点:

  • 分享项目很容易.
  • 与Microsoft IDE集成良好

缺点:

  • 它使用Microsoft Jet存储引擎,它很容易破坏它访问的任何内容.
  • 它不能在局域网外使用,除非您购买SourceOffsite之类的东西.
  • 结帐锁定文件和签入解锁文件可能会降低较大组的生产力.许多新手开发人员将文件签出,团队的其他成员必须等待他们进行任何检查.
  • 微软不再开发这个了.微软甚至没有在内部使用它来为他们的现金牛应用程序,如Office和Windows.他们实际上使用Perforce的自定义版本.

颠覆

优点:

  • Checkout-edit-merge文件编辑周期非常适合团队
  • 创建分支非常便宜,不会复制物理文件
  • 它正在不断发展
  • 有几个Subversion包可供选择
  • 很多第三方供应商都与Subversion集成.它具有丰富的应用生态学.
  • 一个主要优点是您现在可以将安全Subversion与Active Directory树集成.

缺点:

  • 合并冲突仍然是一个主要的痛苦,但这与大多数其他版本控制系统相同.
  • 使用安全性可能有点棘手,具体取决于您选择运行存储库的服务器(svnserve.exe或Apache/WebDAV).

我猜你自己的老板想购买VSS2005,这将在Windows上运行.我的建议是你坚持使用这3个Subversion发行版/软件包中的一个

一般Subversion安装包:CollabNet Subersion - http://www.open.collab.net/downloads/subversion/ 这将安装svnserver.exe(自定义服务器)和Apache/WebDAV,或者您可以选择在安装过程中安装哪一个.您将能够使用http://和svn://协议来为您的存储库提供服务.

Subversion加管理控制台:VisualSVN服务器 - http://visualsvn.com/server/ 他们自己做Subversion发布.此程序包具有Microsoft管理控制台(MMC)管理单元以管理服务器.这个将帮助您设置Active Directory树的权限.这主要面向http://协议.

Subversion管理控制台:PainlessSVN - http://www.painlesssvn.com 这个只适用于svnserve.exe(自定义服务器).它是一个Microsoft管理控制台(MMC)管理单元,用于管理设置和用户.这主要面向svn://协议.

Tom Ritter提供了一些非常好的工具链接,可以将历史和代码从CVS/VSS导入Subversion.


Jan*_*usz 4

SVN 与 CVS 的比较很简单。SVN 是作为新软件开发的,用于代替 CVS 来纠正 CVS 的一些问题。

我知道的一个问题是在存储库中移动和重命名文件的问题。如果您倾向于在代码库中进行大量重构,那么这是一个大问题。

更多信息请参见: Wikipedia 上 CVS 的局限性
这里:维基百科上对 VSS 的批评
比较:维基百科上 SVN 的 局限性