statCVS的问题剖析

简介:
statCVS是一个很好的OPENSOURCE的项目,可以用来生成CVS中代码修改提交情况的报表。不过我在使用过程中,发现它只能用于主分支(即清除所有粘附位的版本)产生提交历史和数据统计,如果有基于分支的提交,将被statCVS忽略,并且基于这个原因,也无法对一个分支进行修改统计和代码分析了。如果对一个分支进行修改分析,因为log都是基于该分支的修改版本,所以基于主分支的修改将为空集合,所以statcvs.jar的执行结果将会出现NULLPointer异常而终止生成报表。
 
经过主分支和副分支的log文件对比,发现是statCVS的一个bug,因为修改已被统计成非零,而修改细节因为主分支要求零匹配,所以出现计数和元素不相符的情况而导致异常终止。
 
经过一个不太规范的规避,我们可以绕过这个陷阱,方法如下:
用如下方法取出某个分支(branch_name)的所有提交历史(工作目录通常应在本志的项目CVS根目录下)。
F:\module-path>cvs log -rbranch_name >f:\project.log
用如下方法取出某个时间段的所有提交历史(工作目录通常应在本志的项目CVS根目录下)
2009/5/1
 
在文本编辑器中,修改文件内容,以规避陷阱:
UltraEdit:  正则表达式替换: %revision 1.[0-9.]+$ revision 1.2
意思就是将所以分支提交log换成主分支提交log格式,如
revision 1.2.2.12 --->revision 1.2
这样就骗过statCVS了,不过也就丢失了提交版本信息了。
 
接下来可以生成代码统计报表了(除了提交版本信息全变成1.2):
 
statcvs.jar的两个参数是log文件,项目cvs本地路径。output-dir选项为重定向报表HTML文件路径。
0.5.0

本文转自 dannyy1026 51CTO博客,原文链接:
http://blog.51cto.com/dannyyuan/317177
相关文章
|
8天前
|
弹性计算 运维 安全
访问控制(RAM)|云上程序使用临时凭证的最佳实践
STS临时访问凭证是阿里云提供的一种临时访问权限管理服务,通过STS获取可以自定义时效和访问权限的临时身份凭证,减少长期访问密钥(AccessKey)泄露的风险。本文将为您介绍产品原理,以及具体的使用步骤。
150946 3
|
7天前
|
数据采集 存储 运维
提升团队工程交付能力,从“看见”工程活动和研发模式开始
本文从统一工程交付的概念模型开始,介绍了如何将应用交付的模式显式地定义出来,并通过工具平台落地。
119838 1
|
7天前
|
监控 负载均衡 Java
深入探究Java微服务架构:Spring Cloud概论
**摘要:** 本文深入探讨了Java微服务架构中的Spring Cloud,解释了微服务架构如何解决传统单体架构的局限性,如松耦合、独立部署、可伸缩性和容错性。Spring Cloud作为一个基于Spring Boot的开源框架,提供了服务注册与发现、负载均衡、断路器、配置中心、API网关等组件,简化了微服务的开发、部署和管理。文章详细介绍了Spring Cloud的核心模块,如Eureka、Ribbon、Hystrix、Config、Zuul和Sleuth,并通过一个电商微服务系统的实战案例展示了如何使用Spring Cloud构建微服务应用。
103461 7
|
8天前
|
人工智能 Serverless 对象存储
让你的文档从静态展示到一键部署可操作验证
通过函数计算的能力让阿里云的文档从静态展示升级为动态可操作验证,用户在文档中单击一键部署可快速完成代码的部署及测试。这一改变已在函数计算的活动沙龙中得到用户的认可。
120074 113
|
8天前
|
SQL 存储 数据可视化
Ganos H3地理网格能力解析与最佳实践
本文介绍了Ganos H3的相关功能,帮助读者快速了解Ganos地理网格的重要特性与应用实践。H3是Uber研发的一种覆盖全球表面的二维地理网格,采用了一种全球统一的、多层次的六边形网格体系来表示地球表面,这种地理网格技术在诸多业务场景中得到广泛应用。Ganos不仅提供了H3网格的全套功能,还支持与其它Ganos时空数据类型进行跨模联合分析,极大程度提升了客户对于时空数据的挖掘分析能力。
|
15天前
|
人工智能 编解码 对象存储
一键生成视频!用 PAI-EAS 部署 AI 视频生成模型 SVD 工作流
本教程将带领大家免费领取阿里云PAI-EAS的免费试用资源,并且带领大家在 ComfyUI 环境下使用 SVD的模型,根据任何图片生成一个小短视频。
|
13天前
|
数据采集 运维 监控
DataphinV4.0来啦:自定义全局角色 ,实时研发覆盖全部署场景,个性化企业配置看本期
本次V4.0版本升级,Dataphin支持自定义全局角色、自定义逻辑表命名规范、Flink on K8s的部署模式,提升企业级适配能力,灵活匹配企业特色;将集成任务快速从组件模式切换为脚本模式、支持外部触发类型节点等,提升研发平台易用性,助力高效开发便捷运维。
90941 1
|
13天前
|
SQL Kubernetes 调度
Flink 流批一体在模型特征场景的使用
本文整理自B站资深开发工程师张杨老师在 Flink Forward Asia 2023 中 AI 特征工程专场中的分享。
76861 3
Flink 流批一体在模型特征场景的使用
|
19天前
|
存储 关系型数据库 数据库
超1/3中国500强企业都在用的「汇联易」,为什么选用阿里云RDS?
迎峰而上:汇联易依托阿里云RDS通用云盘,加速业务智能化升级
超1/3中国500强企业都在用的「汇联易」,为什么选用阿里云RDS?
|
8天前
|
存储 缓存 安全
深度解析JVM世界:JVM内存结构
深度解析JVM世界:JVM内存结构