Svn 为什么选择Subversion而不是它的竞争对手?

Svn 为什么选择Subversion而不是它的竞争对手?,svn,version-control,Svn,Version Control,我个人使用Mercurial和Subversion的方式很有限,我不明白为什么95%的人会选择SVN而不是其他东西。这只是一个垄断案例,还是SVN中隐藏着许多其他系统所没有的好东西?它是免费的,开源的,有好的文档,被广泛使用,简单易用,有重要的功能集,在许多平台上都可用,支持可用 对于一个软件,你能要求的就不多了 编辑 我知道它在处理分支和合并方面不如其他工具好,但许多人要么通过它,要么使用该工具来避免合并 另一个原因是概念模型与CVS和SourceSafe的概念模型相匹配,因此人们不必掌握关于

我个人使用Mercurial和Subversion的方式很有限,我不明白为什么95%的人会选择SVN而不是其他东西。这只是一个垄断案例,还是SVN中隐藏着许多其他系统所没有的好东西?

它是免费的,开源的,有好的文档,被广泛使用,简单易用,有重要的功能集,在许多平台上都可用,支持可用

对于一个软件,你能要求的就不多了

编辑 我知道它在处理分支和合并方面不如其他工具好,但许多人要么通过它,要么使用该工具来避免合并

另一个原因是概念模型与CVS和SourceSafe的概念模型相匹配,因此人们不必掌握关于源代码控制和更改的不同思维方式。(如Hg和Git so)


我当然不是说SVN比那些更好——只是回答了为什么它受欢迎。

这都是关于支持的

  • 文件支持
  • IDE的支持
  • 托管公司的支持
  • 企业一级的支持

支持,支持,支持。

出于我们的目的,它很容易站起来,很容易使用,并且在我们选择的IDE中有很好的集成工具。这是最好的吗?也许不是,但就中央存储库而言,它确实起到了作用

它比以前人们使用的CVS要好得多。它几乎没有缺点,以至于人们没有这种感觉,他们应该尝试别的东西。对于大多数需求来说,Subversion已经足够了,所以他们什么也不尝试,即使它可能更有效率。我还没有使用mercurial(我想尝试一下,但没有时间,而且随着SVN的工作,这在我的列表中没有高优先级)

此外,分布式版本控制从一开始就比较复杂,因此人们可能会感到害怕。

  • 大多数开发人员还不习惯分布式源代码控制。从一个“传统”的SCM到SVN的概念性转变较少。特别是,它是来自CVS的自然迁移路径
  • 颠覆已经存在了更长的时间。不要低估获得牵引力所需的时间
  • 由于SVN推出的时间长,它不仅拥有更大的动力,而且有着良好的业绩记录。它已经稳定了很长一段时间,并且在不让他们失望的情况下得到了许多项目的信任。如果你是经理,那是你想听的
  • Subversion与许多IDE很好地集成。Mercurial可能也是这样,但git肯定不是这样

就我个人而言,我刚刚开始了解git作为颠覆迷已经有很长一段时间了。我对Subversion仍然比较满意,但否认分布式源代码管理的优势是愚蠢的…

许多人来自CVS,Subversion可能是最像CVS的SCM,因此易于学习。

CVS过去是默认的(这几乎是唯一的答案)。SVN被明确设计为更好的CVS。许多CVS用户将迁移到SVN是有道理的,因为它修复了几乎所有CVS的故障,更易于使用和维护,添加了新功能,并且具有非常简单的迁移路径


SVN也有一些问题,但通常只有高级用户才会遇到。Git和Mercurial之类的系统似乎可以解决这些问题(我只稍微涉猎过Git,从未涉猎过Mercurial)。SVN对于大多数用途来说都足够好,并且具有用户基础、社区和工具支持,使其成为刚刚起步的人非常有吸引力的选择。

对于集中式版本控制,它是安全的选择,它足够好,每个人都在使用它。再加上像TortioseSVN这样的工具,它相当不错。可能有更好的解决方案,但它们不是免费的,也不是众所周知的,或者两者兼而有之


分散版本控制非常适合OSS的工作方式,但我认为大多数公司不会使用它。跟踪更改和版本似乎更难。有许多不同版本的代码和许多不同排列的错误得到解决和实现的功能更容易,这是很难向管理层推销的东西。

在大约半天左右的时间里,我安装了SVN,并对Windows域帐户(使用Apache)进行身份验证,以识别具有域的组。虽然我使用Windows和Unix进行开发,但该公司的后端服务都是Microsoft的。事实上,在微软的环境下安装起来很容易,这真是太棒了


我们不做任何幻想,因为这里的大多数开发人员拥有他们的整个项目(我们还没有进行任何合并)。由于任何人(有权限的人)都可以在浏览器中查看存储库,这是发布版本的一种很好的方式。

我们不仅仅使用Subversion—在早期,我们使用源代码安全(远离),然后我们增长并需要分支,所以我们转向了TFS

TFS真的很难以这种方式使用。不方便使用。完全对于像我们这样的小型操作(5个开发人员),它感觉非常臃肿

此外,TFS与SharePoint之间存在着这种邪恶的共生关系,这对我们来说是不好的。如果我们有更多的It资源,或者有一个开发人员,我们可以专注于这些错综复杂的领域,这不会是一个问题,但是我们的SharePoint安装过程中出现了一些严重的It崩溃,这让我们害怕我们的源代码

因为它的分支是如此的神秘,它没有完成我们实现它的任务

大约一个月前,我们改用Subversion,使用VisualSVN作为我们的客户机(价格为50美元/座,但比免费的AnkhSVN更精致)。VisualSVN是建立在乌龟的基础上的,效果非常好

关于Subversion,我最喜欢的一点是它可以将代码存储为文本文件,而不是存储在专有数据库中(尽管它可以使用BerkleyDB作为后端,但性能优势通常是可以忽略的)。