如何集成一套基于CVS的配置管理系统
以前在项目组作配置管理工作的时候,自己研究和学习了一些基于CVS的配套工具,现推荐给大家。这些工具基本上完全免费,且能完美集成在一起实现版本管理、工作空间管理、分支管理、web访问、邮件自动通知、Issue跟踪、配置状态和统计报告、产品集成等功能。大家也可以去探索一些更好更实用的工具,也欢迎与我分享。
1) Server:CVS/CVSNT/Subversion
在UNIX/Linux环境下安装使用CVS,在Win环境下使用CVSNT。相对来说,UNIX环境更稳定些,但使用较不方便。Subversion 是基于CVS作了很大的改进,比如重命名、移动、分支等,我试用的时候还不太稳定,可能现在好多了。如何安装、使用和常见问题可参考我编写的《cvs使用指南》
2) Client:Command Line/ WinCvs/ Eclipse/ TortoiseSVN
在UNIX下开发,一般使用命令行了,一些习惯于命令的朋友也一直使用命令行操作。Eclipse就不用说了,目前很多公司都在使用,和CVS集成得太完美了,建议采用java、c/c++开发的朋友一定试试。Eclipse还集成很多其它工具和插件,比如junit、ant、代码规范检查等。
3) Web:CvsWeb/ viewcvs/ cvstrac
首先推荐的是viewcvs,界面很不错,还可以集成一些perl模块来显示文件版本树,也可以在线进行版本比较。
4) 与IDE集成:igloo/cvsin
我找到的这两个工具的版本都比较老了,没有找到新版本,试用的时候不是很稳定,支持所有提供SCC接口的开发工具,比如VB、VC等。
5) Bug跟踪工具:Bugzilla/cvstrac
Bugzilla功能不错,但用户界面实在不敢恭维,不太符合中国人的使用习惯,如果你有时间,把界面修改修改还可以用。cvstrac功能也不错,特别是时间线的功能,还有与代码的关联和web浏览配置库。
6) 配置库变更邮件自动通知:cvsnotify/ cvsmail
cvsnotify的功能不错,可以发html格式的邮件,邮件的超连接可以与viewcvs集成。很重要的一点是,cvsnotify配置采用xml,可定制性很强,而且自动监测Checkin的文件,保证一次性检入的文件发在一封通知邮件里,而不是检入一个文件发一封邮件。 cvsnotify1.9.0.9之前不支持中文,我经过好几天与devguy协调后,进行了修改,现在可以支持中文。
此外,也可以自己编写一个mail发送程序,然后集成在loginfo文件里。比如我早期使用的是"practice/fjqin (F:/scm/syncmail_simple.py %{sVv} 126678@126.com)"
7) 入库自动检查代码规范:checkstyle
checkstyle是针对java的代码规范检查工具。当然,c/c++就比较多了,大家可以在网上查查。这些工具可以和commitinfo一起,实现入库前自动检查。达到没有满足代码规范就不能入库的作用,比人为检查代码规范省事多了。
8) 配置统计和报告:statcvs/cvsplot
statcvs的功能很强大,统计很多数据,包括开发人员、代码、文件、log信息、目录大小等类别,比自己手动统计方便多了。