StatCVS提供了对CVS储存库活动的深入观察

简介: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 储存库,所以 它是一个好例子。

时间: 2024-10-31 13:25:01

StatCVS提供了对CVS储存库活动的深入观察的相关文章

使用 Git 管理源代码

     原链接地址:https://www.ibm.com/developerworks/cn/linux/l-git/  在现代软件开发项目中,要成为一个有效的软件开发人员,我们必须能够与其他项目贡献者并行进行开发.源代码管理(SCM)系统不是什么新思想.为了编写一些能够更快速.简单地开发以后软件项目的软件,已经进行了很多尝试.最新的源代码解决方案都包含了版本控制系统,它可以对源代码的修改进行回滚,从而将有害的代码剔除出项目之外,或者简单地跟踪哪些人修改了代码的哪些行的内容.版本控制系统试图

Windows 2000活动目录的功能简述

微软在Windows NT Server 4.0中就已经贯彻了目录服务的思想.NT的"域(domain )"的概念是目录服务的一个基本单元."一次登录,Single Logon"在Windows NT Server 的环境下有了具体的应用,比如Internet Information Server.Exchange Serv er.SQL Server等都可以与Windows NT Server的账号验证集成起来,用户一次登录就可以获得Web.Email和数据库等多

windows 2000活动目录之结构篇

在上一篇对活动目录有个基本了解之后下面我就来接触一下活动目录实质上的一面--活动目录的结构.上篇我们讲到活动目录是包括两方面:目录和目录相关的服务.目录是存储各种对象的一个物理上的容器,与我们平常所说的目录没什么区别,目录管理的基本对象是用户.计算机.文件以及打印机等资源.而目录服务是使目录中所有信息和资源发挥作用的服务,如用户和资源管理.基于目录的网络服务.基于网络的应用管理,它才是WIN2K活动目录的关键和精髓所在.目录服务是WIN2K网络操作系统的核心支柱,也是中心管理机构,所以目录服务的

WF 4.0 beta1活动概览(1):Procedural

相比于WF 3.5,WF 4.0 beta1提供了大量开箱即用的活动,我们可以使用这些活动来创作工作流或者创建自定义活动.本文将会对这些活动做一个简单快速的概览,并介绍它们的关键特性. 活动是工作流程序的工作单元.在WF 4.0中,活动由签名和正文组成.签名是活动的公共参数的术语化定义,这些公共参数定义了活动的输入和输出数据流.而正文则是指活动的执行逻辑,此逻辑可以用其他活动声明性地表示,也可以通过代码来表示. 下面按照WF 4.0 beta1在Visual Studio 2010工具栏中的分类

Symbian学习笔记(6)——关于多线程与活动对象

symbian支持多线程(它有一个RThread类)但却又不提倡大家使用多线程,理由一般是说应用更安全?代码更简单?不过我觉得最有说服力的是省电. 既然如此,那我们就不说"多线程",说说"多任务"吧,活动对象(Active Object)提供了非抢占式的多任务协同处理机制,它不是多线程的,而是运行在一个单线程中. AO机制包括两个类CActiveScheduler和CActive: 调度器CActiveScheduler:顾名思义它是协调多个活动对象的调度者.既然是

Oracle活动会话历史(ASH)及报告解读

对于数据库运行期间的各种状态的实时监控以及相关性能数据捕获对于解决性能问题,提高整体业务系统运行效率是至关重要的.在Oracle数据库中,实时捕获相关性能数据是通过ASH工具来实现的.ASH通过每秒钟抽取活动会话样本,为分析在最近时刻的性能问题提供最直接最有效的依据.本文主要讲述ASH的用法及使用. 一.活动会话历史概述 Oracle v$active_session_history视图提供了实例中的活动会话采样.通过该视图提供的最详细最完整性能数据,可作为定位性能故障的一手证据.任一连接到数据

宁夏政府办公厅会议活动管理系统实施案例

自2002年以来,宁夏回族自治区人民政府办公厅大力推进电子政务建设,并以此作为优化 改善自治区经济发展环境的新举措,全面推进我区国民经济和社会发展向更高水平前进.建设电子化.网络化.数字化的宁夏政府的一个重要特征就是通过对政府业务流程的优化和再造,实现政府 整体运行模式的变革与创新:其中,电子政务建设为业务流程优化提供了必要的技术手段和实现方式,同时业务流程优化也为电子政务建设真正发挥其绩效提供了可靠的保障. 经过近年来的努力,自治区在政务信息化等工作方面取得了可喜的进步.自治区建设了覆盖政府系

在谷歌、雅虎和微软中确立广告活动

回头评估付费http://www.aliyun.com/zixun/aggregation/6474.html">搜索业务的基本原则永远不会有坏处.广告宣传设置是永远不会停止的过程,因为活动是一个现实的.呼吸的.一直在变化变化的东西.鉴于此,我对广告宣传活动的设置选取一些最佳的事例. 在本周参加的SES大会上,有一半的与会者对于PPC还是非常新鲜的.我想,我的读者对于PPC也会新鲜的. 当我们在搜索引擎中设置广告活动时,你可以命名每一个活动.根据你控制的数量,你设置的活动要与金融结构相匹配

《激战2》作者表示,魔兽世界的大部分活动并不能构成一个故事

5月25日消息,在接受国外媒体采访时,<激战2>的作者Ree Soebee表示,魔兽世界提供给玩家的大部分活动并不能构成一个故事. "我并不认为那些副本或者Raid活动与讲故事有任何关系.它不是.你陆续看到了更精彩的东西,但是你并没有真正的经历一个故事."她说. Soesbee重申了这个观点:"魔兽世界的剧情一般是你冲进了一个家伙的家里/巢里/城堡里,并击败他.这很酷,但它不是一个故事." 她看起来似乎玩魔兽世界比较多,并能够做出公正的判断:"