版本管理软件检索
一、常见版本管理(SCM)软件
1.SVN(Subversion):开源,跨平台,稳定,客户端丰富,是CVS的重写版和改进版。服务端免费,大多数客户端免费。
2.CVS(Concurrent Version System):开源,跨平台,功能有局限性,综合性能较SVN差(见附表)。历史久远(可追溯到1972年),客户端工具丰富。
3.CVSNT:最初是专门为 Windows 平台开发的 CVS 移植版本,但是现在已经可以运行在几乎所有的平台之上。CVSNT速度慢。
4.VSS(Visual Source Safe) :微软产品,不支持跨平台,功能有限。
5.Perforce:商业软件,大概600美圆。试用版支持2个用户。没有中文手册。
6.ClearCase:Rational(2003年被IBM收购)公司产品。Clearcase涵盖的范围包括:
版本控制、建立管理、工作空间管理和过程控制。从最初的软件配置计划,到配置项
的确立,从变更控制到版本控制,它贯穿于整个软件生命周期。
支持平台:Windows/UNIX/Linux/Mainframe。4000-9000美圆
二、取舍
1.为什么放弃考虑CVS?
由于CVS历史设计上的局限性其核心开发人员于2000年开始开发新的替代性的版本管理软件,即:SVN。另外就咱们技术中心来说,大家对CVS熟悉程度并不比SVN高,故学习成本两者是相当的,如果要选择CVS系列不如SVN系列。
2.为什么放弃考虑VSS?
微软早期产品,功能局限性较大,据说正在开发新的替代性的新版本。
3.为什么放弃考虑CVSNT、Perforce?
中文操作说明手册太少,网少资料也较少。
三、考虑方案
1.对SVN的考虑
A方案:SVN + TortoiseSVN
服务器端:SVN
客户端:TortoiseSVN
实现功能:版本管理功能,可以查看每个人提交的代码,很好的保存版本历史。客户端可以按时间、按人统计每个人的代码提交情况,有图形结果和文本结果。
优点:用户上手很快,客户端基本上拿到就可以使用。免费。
缺点:对工作计划的制定不支持,但可以结合OA中的工作计划管理。
B方案:SVN + Trac
服务器端:SVN+ Python+ Trac+ Clearsilver+ Pysqlite+ svn-python
客户端:浏览器或TortoiseSVN
实现功能:版本管理功能,可以查看每个人提交的代码,很好的保存版本历史。客户端可以统计每个人的代码提交,有图形结果和文本结果。支持浏览器访问,能够制定工作计划、管理。
优点:在工作计划管理方面不需要额外软件。免费。
缺点:中文文档奇缺,服务器端配置复杂,浏览器访问页面为英文。
2.对ClearCase的考虑
功能强大,价格不菲,网上找不到试用版。
无论何种软件大家在提交代码时都必须坚持对代码添加说明,是新增加了什么功能还是修改了什么Bug。虽然软件可以统计代码数量,但是对代码的质量、价值的评估还需人工来进行。