我个人以有限的方式使用Mercurial和Subversion,我不明白为什么95%的人会选择SVN而不是其他东西.它只是一个垄断案例还是其他系统没有的SVN中隐藏着很多好东西?
它是免费的,是开放源代码的,具有良好的文档,应用非常广泛,简单/使用方便,有显著的功能集,在大量的平台,提供支持.
你可以问一个软件没有更多的东西.
编辑我知道它并不像其他工具在处理分支与合并一样好 - 但它的许多人要么得到通过或使用该工具工作,以避免合并.
其中的其他原因是,概念模型匹配CVS和SourceSafe的 - 所以人们不必掌握想着源控制和变化的另一种方式.(像Hg和Git那样)
我当然没有声称SVN比那些更好 - 只是回答它为何受欢迎.
大多数开发人员还不习惯分布式源代码控制.从一个"传统"SCM到SVN的概念性转变较少.特别是它是CVS的自然迁移路径.
颠覆已经持续了很长时间.不要低估获得牵引力所需的时间.
SVN不仅有更多的动力,因为它有多长时间 - 它也有一个记录.它已经稳定很长一段时间了,许多项目都信任它而不让它们失望.如果你是经理,那就是你想要听到的那种.
Subversion与许多IDE很好地集成在一起.也许Mercurial就是这种情况,但肯定不是git.
就个人而言,我刚刚开始掌握git,长期以来一直是Subversion的粉丝.我对Subversion更加满意,但否认分布式源代码控制的优势是愚蠢的......
这都是关于支持的.
文档支持
IDE支持
托管公司的支持
企业层面的支持
支持,支持,支持.
CVS曾经是默认的(它几乎是唯一的答案).SVN被明确地设计为更好的CVS.有意义的是,许多CVS用户将迁移到SVN,因为它修复了几乎所有CVS的故障,更易于使用和维护,添加了新功能,并且具有非常简单的迁移路径.
SVN也存在一些问题,但通常只有高级用户会遇到这些问题.像Git和Mercurial这样的系统似乎解决了这些问题(我只是略微涉及git,从不善变).SVN对于大多数用途来说已经足够好了,并且拥有用户群,社区和工具支持,使其成为刚刚入门的人们非常有吸引力的选择.
我发现设置起来非常快.如果我使用VisualSVN服务器(免费)和AnkhSVN VS插件(也是免费的)并添加TortoiseSVN shell扩展,我可以在不到20分钟的时间内获得源代码控制下的代码和3个客户端.像馅饼一样容易......支持得很好......
最好的吗?可能不是.但它确实很容易设置.
不是每个人都使用SVN,我们中的一些人正在使用GIT ......;)
许多人来自CVS,Subversion可能是最像CVS的SCM,因此很容易学习.