Svn 关于源代码管理工具的行业报告

Svn 关于源代码管理工具的行业报告,svn,version-control,visual-sourcesafe,clearcase,Svn,Version Control,Visual Sourcesafe,Clearcase,我正在寻找比较和对比各种源代码管理工具的独立行业报告。特别是,我关心Clearcase vs Sourcesafe vs SVN,但是如果报告中包含其他SCM系统,那就好了 我需要这个客户谁想要得到一个确切的感觉,他们站在获得切换到SVN(是的,从Clearcase和VSS)。换句话说,我可以用它来卖给他们的生意 我希望通过这些工具和免费提供的结果报告,可以对开发人员的生产力进行一些案例研究 谢谢, Kent当我刚开始在一家没有源代码管理(yikes)的公司工作时,我也在寻找类似的东西。当时负责

我正在寻找比较和对比各种源代码管理工具的独立行业报告。特别是,我关心Clearcase vs Sourcesafe vs SVN,但是如果报告中包含其他SCM系统,那就好了

我需要这个客户谁想要得到一个确切的感觉,他们站在获得切换到SVN(是的,从Clearcase和VSS)。换句话说,我可以用它来卖给他们的生意

我希望通过这些工具和免费提供的结果报告,可以对开发人员的生产力进行一些案例研究

谢谢,
Kent

当我刚开始在一家没有源代码管理(yikes)的公司工作时,我也在寻找类似的东西。当时负责开发的人基本上只考虑微软的东西,而只有在DEC团队中只有SCC经验的其他人才使用SoScCuFe。

我在SVN方面有很多经验,所以我承认我有很大的偏见,但我确实尝试过对SVN与VSS与TFS进行评估。我真的很难找到关于VSS的任何积极的方面,除了那些把它比作根本不使用源代码管理的人


源安全
    • 第条:
      • SourceSafe缺乏可用的分支支持[…]SourceSafe的合并支持与签入紧密集成,这使得在将合并签入到树中之前很难检查差异和测试建议的合并。有了这种弱支持级别,很容易将不起作用的代码检查到版本控制系统中
      • 更新本地工作区以匹配服务器时,应注意服务器上删除的文件。(或删除,因为旧版本可以从版本控制系统中检索。)否则,项目中使用的文件可能会过期,通常会导致问题。[…]SourceSafe无法删除过期文件或提供任何警告
      • SourceSafe的基本设计假定客户机是可信的,总是正常工作,并且不会干扰通信,从而导致数据损坏。因此,SourceSafe很脆弱,不值得信任。我在SourceSafe工作过三份不同的工作。在每种情况下,SourceSafe数据库最终都会损坏。数据已损坏,工作已丢失,时间已浪费在问题上
    • 第条:
      • 当一个人使用一个简单的周期来创建和开发源文件、在给定的里程碑检查文件、标记项目等等时,SourceSafe似乎可以正常工作。然而,许多简单的操作会导致软件以各种微妙的(有时是不可靠的)方式失败已删除的文件可能很容易从数据库中清除,从而防止重建项目的早期版本
      • 用户可以合理地期望Destroy命令从用户的硬盘上删除文件的当前工作版本。用户还可以合理地预期Destroy命令会从项目的当前版本中删除该文件。用户可能不希望从项目的所有早期版本中删除该文件
    • 第条:
      • 在90年代后期,SourceSafe是一个非常合适的源代码控制系统。不幸的是,SourceSafe从未在架构上进行过更新,以反映现代的源代码管理实践。即使是最新版本的SourceSafe 2005,也绝对散发着1999年的气息
      • SourceSafe给您带来安全和控制的错觉,同时使您的项目面临风险
      • SourceSafe教会开发人员一些坏习惯:避免分支、独占锁、容易永久删除
  • 发件人:

    • 默认情况下,VSS在处理文件时使用锁定。如果一个用户签出(锁定)一个文件,然后离开公司或休假两周,如果其他人需要处理该文件,管理员必须手动解锁该文件,而当其他人回来时,您的手上就有一团混乱。据我回忆,合并不是很好
短VSS vs SVN(取自):

  • VSS不是原子的-如果网络关闭、电源中断(在服务器或客户端上)等,则存储库已损坏。SVN是原子的,要么整个更改都会进入,要么一个都不会
  • VSS锁定文件-多人不能同时处理同一文件
  • VSS中的更改是特定于文件的。SVN可以将多个文件中的更改作为一个“更改集”提交
  • VSS不跟踪每行更改。有了SVN,就可以看到谁最后更改了一行,以及在哪个版本中(“SVN责备”)
颠覆 非常简单的源代码管理系统。跟踪更改,使用更新合并提交模型,该模型允许多个开发人员同时处理同一文件,subversion会自动合并他们的更改(如果可能)。没有“魔法”发生

通过集成到Windows/Explorer。通过(50美元/开发人员)集成到Visual Studio,这实际上只是OrtoiseSVN的前端

与许多第三方工具集成,例如:

  • 用于错误跟踪
    • 大量的插件/插件在
  • 用于(自动构建)
Svn缺点:

  • 没有内置的合并跟踪(跟踪从开发到稳定分支合并的变更集)
    • 使用svnmerge/svnmergegui可能
    • 从SVN 1.5开始,有内置的合并跟踪
  • 缺少“搁置”功能
    • 允许某人处理某件事情,并将其“搁置”到存储库中(不使其成为项目的一部分),其他开发人员可以从中获取它
    • TFS有这个
    • 可以近似此特征u