Svn 关于源代码管理工具的行业报告
我正在寻找比较和对比各种源代码管理工具的独立行业报告。特别是,我关心Clearcase vs Sourcesafe vs SVN,但是如果报告中包含其他SCM系统,那就好了 我需要这个客户谁想要得到一个确切的感觉,他们站在获得切换到SVN(是的,从Clearcase和VSS)。换句话说,我可以用它来卖给他们的生意 我希望通过这些工具和免费提供的结果报告,可以对开发人员的生产力进行一些案例研究 谢谢,Svn 关于源代码管理工具的行业报告,svn,version-control,visual-sourcesafe,clearcase,Svn,Version Control,Visual Sourcesafe,Clearcase,我正在寻找比较和对比各种源代码管理工具的独立行业报告。特别是,我关心Clearcase vs Sourcesafe vs SVN,但是如果报告中包含其他SCM系统,那就好了 我需要这个客户谁想要得到一个确切的感觉,他们站在获得切换到SVN(是的,从Clearcase和VSS)。换句话说,我可以用它来卖给他们的生意 我希望通过这些工具和免费提供的结果报告,可以对开发人员的生产力进行一些案例研究 谢谢, Kent当我刚开始在一家没有源代码管理(yikes)的公司工作时,我也在寻找类似的东西。当时负责
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不是原子的-如果网络关闭、电源中断(在服务器或客户端上)等,则存储库已损坏。SVN是原子的,要么整个更改都会进入,要么一个都不会
- VSS锁定文件-多人不能同时处理同一文件
- VSS中的更改是特定于文件的。SVN可以将多个文件中的更改作为一个“更改集”提交
- VSS不跟踪每行更改。有了SVN,就可以看到谁最后更改了一行,以及在哪个版本中(“SVN责备”)
- 用于错误跟踪
- 大量的插件/插件在
- 用于(自动构建)
- 没有内置的合并跟踪(跟踪从开发到稳定分支合并的变更集)
- 使用svnmerge/svnmergegui可能
- 从SVN 1.5开始,有内置的合并跟踪
- 缺少“搁置”功能
- 允许某人处理某件事情,并将其“搁置”到存储库中(不使其成为项目的一部分),其他开发人员可以从中获取它
- TFS有这个
- 可以近似此特征u