简介:StatCVS 是一个创建并发版本系统(Concurrent Versions System - CVS)储存库活动图表的方便工具。在本文中,开发人员 Tom Copeland 将解释 如何安装、运行 StatCVS,概述生成的报告,然后还将介绍如何为多个储存库生 成报告,StatCVS 的内幕及限制等多项内容。
如果要接手一个已经运行了好几年的软件项目,那么怎样才能得到对项目开 发历史的认识呢?最好的方法可能就是与曾经参与该项目的开发人员对话,但是 这说起来容易,做起来却很困难。原有的开发人员通常都已转到了其他项目中, 而且要找到他们也很难。您可以查看释出频率(release frequency),尽管这 可能受非技术性的强制规定控制(有时可能只是出于“我们要在本财政年度末做 一个发布”的理由)。您可以查看 bug 和特性请求跟踪器,还可以在开放和关 闭的 bug 讨论中挖掘信息。或者可以直接进入源代码历史记录,用 StatCVS 这 样的工具查看曾做过哪些记录,这些记录是谁修改的。我将 StatCVS 运用在各 种大型项目上已经有好几年的时间了,它生成的报告一直都很不错。在本文中, 将演示如何在项目上设置、运行 StatCVS,如何阅读它生成的报告,以及 StatCVS 需要改进的地方。
安装 StatCVS
StatCVS 是一个 Java 程序,需要 JDK 1.4 或更高版本的支持。从命令行安 装 StatCVS 最容易:只要下载最新的发行版(请参阅参考资料),将它解压到 一个目录中即可;我用的是 /usr/local/statcvs/ 目录。而且,如清单 1 所示 ,我还创建了一个符号链接,叫作 statcvs,它链接到刚刚安装的版本上。这可 以节约日后的一些打字工作时间,更重要的是,日后只要把符号链接修改为指向 要使用的版本,就可以在 StatCVS 的不同版本间切换。
清单 1. StatCVS 的符号链接
[root@hal local]# pwd
/usr/local
[root@hal local]# ln -s statcvs-0.2.2 statcvs
[root@hal local]# ls -l | grep statcvs
lrwxrwxrwx 1 root root 13 Jan 13 14:27 statcvs -> statcvs-0.2.2
drwxrwxr-x 2 root root 4096 Oct 13 23:32 statcvs-0.2.2
-rw-rw-r-- 1 tom tom 1344753 Jan 13 13:49 statcvs-0.2.2.zip
如果列出 statcvs 目录中的文件,就可以看到那里没有任何适用于 StatCVS 的支持 JAR 文件(supporting JAR file)。惟一的 JAR 文件是 statcvs.jar ,它包含 StatCVS 使用的惟一的第三方库:JFreeChart。这种方法使得开始了 解 StatCVS 变得更容易,因为不需要关于类路径的更多知识。
运行 StatCVS
为了演示 StatCVS 的工作方式,需要找到一个带有有趣的 CVS 历史记录的 项目,并生成一些活动报告。developerWorks 的项目 Jikes(请参阅参考资料 )已经进行了一段时间,有大量开发人员,还有一个公共的 CVS 储存库,所以 它是一个好例子。