As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。




已关闭10年。




Git / Mercurial已经越来越受欢迎。我已经看到很多文章将SVN与Git / Mercurial进行了比较,但是我想知道是否真的有理由继续使用SVN。看来现在有很多针对Git / Mercurial的工具可以帮助其在企业中推广。

有什么理由仍然要使用SVN? Mercurial / Git终于可以被企业采用了吗?

最佳答案

一方面,SVN集成(与IDE,框架,Wiki,...)以及其GUI和代码浏览器都非常成熟(即使像Git和Mercurial这样的DVCS每天都在进步)。

另一方面,在企业环境中引入DVCS仍然不是一件容易的事:

  • Some requirements are not easily met(就安全性和访问控制,访问的管理和限制而言)
  • DVCS paradigm is more complex to understand,其中包含许多pros and cons
  • 您确实需要to leverage its many workflows而不是依靠SVN集中式的。
  • transition from CVCS to DVCS is difficult


  • 需要明确的是,使用 DVCS可能是一个非常有效的选择:
  • 用于新项目,其中开发人员与旧版工具或流程无关
  • ,尤其是当开发人员不在地理位置上位于时(通常是开源开发,这就是DVCS主要在此处使用的原因)。

  • StackOverflow(不是开放源代码项目)正在使用Mercurial(请参阅HgInit, written by Joel Spolsky)。
    他们从SVN迁移到DVCS:
  • 的部分原因是他们的开发人员现在遍布全局(!)
  • ,也因为DVCS的合并功能比SVN中的先进得多。
    (他们需要在SO站点,StackExchange站点V1和V2,区域51等之间维护许多并行的略有不同的代码版本。)
    请参阅“differences between DVCS and CVCS”或“What are the benefits of Mercurial or git over svn for branching/merging?”。
  • 对于公司环境(我在哪里),任何形式的转换都不是琐碎的,因为它必须是:
  • 资助的(即使工具免费,也可以赚钱)
  • 支持(这意味着拥有具有适当能力的适当人员)
  • 集成的(与现有的旧版工具,GUI,像Visual Studio一样的IDE或许多其他工具,...)
  • 管理(就普通服务器而言,甚至对于DVCS)
  • 已记录为(特别是对于带有CVCS(如SVN背景)的用户)

  • 因此,DVCS在公司环境中也非常有用:
    (请参阅“Corporate adoption rate of Git?”或“Git-Based Source Control in the Enterprise: Suggested Tools and Practices?”。)
    它(即使对于新项目)也不会比在较小的结构或开源环境中容易地实现。

    08-27 21:42