Size: 6678
Comment:
|
Size: 4135
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
* MailTechDept 在调整了项目组后,重新架构了部门的开发环境,处于中心地位的CVS进行了精心安排 * 专门开发了 CVSmana 管理页面来统一快速的安排CVS和对应的用户的SSH 验证密匙 * 全部运行在 FreeBSD 5.3-RELEASE-p2-DELPHIJ 中的 CVS 1.11.17-FreeBSD * ''当前邮件技术部 各项目组的专用CVS仓库分布'' ||<rowbgcolor="#ADA0FF">项目组||'''系统目录''' ||''说明''|| ||原先的CVS ||[http://10.88.15.203/viewcvs/?cvsroot=oldCVSroot /cvs/root/cvsroot]||现在仅仅作为备份,不建议继续在其上进行开发管理|| ||<rowbgcolor="#ffffdf">运营维护项目组||[http://10.88.15.203/viewcvs/?cvsroot=runmanage /cvs/root/runmanage]||http://10.88.15.200/share/foto/id/guangsheng.gif'''王广胜'''组|| ||Webmail产品组||[http://10.88.15.200/viewcvs/?cvsroot=webmail /cvs/root/webmail]||'''江锡卓''' ;组|| ||<rowbgcolor="#ffffdf">MTA产品组 ||[http://10.88.15.203/viewcvs/?cvsroot=MTA /cvs/root/MTA]||http://10.88.15.200/share/foto/id/anguo.gif'''王安国'''|| ||Interface产品组 ||[http://10.88.15.203/viewcvs/?cvsroot=sinaInterface /cvs/root/sinaInterface]||吴旭组|| ||<rowbgcolor="#ffffdf">Index产品组 ||[http://10.88.15.203/viewcvs/?cvsroot=sinaIndex /cvs/root/sinaIndex]||'''何健军''' http://10.88.15.200/share/foto/id/lingyang.gif'''林杨'''组|| ||测试管理中心 ||[http://10.88.15.203/viewcvs/?cvsroot=scm /cvs/root/scm]||http://10.88.15.200/share/foto/id/xuehu.gif'''冯学虎'''组|| ||<rowbgcolor="#ffffdf">强力系统组 ||[http://10.88.15.203/viewcvs/?cvsroot=sinasys /cvs/root/sinasys]||http://10.88.15.200/share/foto/id/liujun.gif'''刘俊'''组|| * 而且通过 CVSup 每周自动同步到专用的备份机器中 * 本来想就仅仅让研发中心可以接触备份的CVS服务器就好的,还是按照原来的工作方式来统计嘛! * '''研发中心,的每周开发活动统计,面对如此多的仓库,手工来分析就痛苦了!''' * 经过反复交流,最终确定了周CVS活动统计的指标性数据为: * 每周总更新文件数目 * 每周总更新修改次数 * 并且要抽查,备份相应文件 * 其中的'''"更新"'''指CVS中 文件提交,增加文件,执行tag命令 --------- * 仅仅是确定需求,就花费了不少时间 * '''8过!'''确认后,快速解决为简单的一个汇报XML文件! * [http://10.88.15.203/statcvs/historystat.xml historystat.xml] -- 点击展开各CVS中各模块的更新情况,并有查阅,下载链接! |
http://python.org/pics/PyBanner057.gif + attachment::viewcvslogo.png
怎么的?--任务提出
怎么样! --四处尝试
如何快速实现这样的自动分析汇报呢? Include(/WeeklycvsHow)
照猫画虎!是也乎!哈哈哈!
系统工具尝试
- 开始还想通过 FreeBSD 中的 find,awk,sed 什么的功能来自个儿组合一个分析方案
- 发现麻烦!也不好定制
statcvs-xml 尝试
后来统一在 [http://statcvs-xml.berlios.de/ statcvs-xml] 的JAVA分析工具上!
- 但是依然麻烦!
虽然有完善的图表汇报,但是,只能针对模块进行分析,[http://10.88.15.203/statcvs/scm/scm/ SCM 模块的statcvs 分析结果]
- 而且只能先 生成log 文件再进行分析!然而log 文件,又要在 check out 模块代码后才能够生成!
- 最后在Python 的帮助下自动将各模块的分析页面进行汇总:
[http://10.88.15.203/statcvs/weeklystat.xml weeklystat.xml] 形成可积累的XML汇报文件
- 虽然,问题没有完全解决,但是解析XML的XSL模板却是个愉快的体验!
history 分析!
- 回想提到的原先CVS统计
就是每周记录CVSROOT中的 history 文件的行数,对比得到本周的CVS操作次数来估计更新数量的!
- 嗯嗯!讯问朋友,获得以前类似的CVS分析成果
[http://pyrecord.freezope.org/articles/doc2001082801/show cvsdelta设计分析]
- 哈哈哈!得来全不费工夫!
根据具体情况,组织为[http://10.88.15.203/viewcvs/scm/statcvs/cvsanalyser.py?root=scm&rev=1.2&view=log cvsanalyser.py]
- 只要在系统的任何地方可以运行Python脚本,
设置[http://10.88.15.203/viewcvs/scm/statcvs/cvsanalyser.conf?root=scm&rev=1.2&view=markup cvsanalyser.conf] 文件就可以自动分析CVS活动了!
- 说白了,就是:
- 模拟原先的统计活动,使用Python 来快速实现:
- 自动的从所有CVS仓库中取出 history 文件
- 根据时间限定来过滤出有效的操作记录
- 统计这些记录中的更新次数和文件
- 组织汇报为XML文件,并根据ViewCVS站点的链接,组合出下载,查阅地址!
怎么来? --实现与布属
如何来实现这样的自动统计? Include(/WeeklycvsSteps)
- 安装Python 环境!
- ViewCVS和自动分析脚本都需要 Python....
还有 [http://effbot.org/downloads/index.cgi#elementtree elementtree] -- Python 中精巧的XML 支持包
- 安装 ViewCVS !
- 因为查阅,下载链接指向的是基于 你CVS的ViewCVS站点链接!
- 安装cvsanalyser
- 就几个文件,可以从CVS 中检出,也可以本地下载:
- attachment::cvsanalyser-0.1.rar
- 放置到随便哪个目录,KO!
- 设置 cvsanalyser:
- 就几项:
- cvsroot = 你的CVS仓库的系统路径
- time = 时间区间,以天为单位
- cvs = CVS仓库列表 用空格 划分
- viewcvs = 你的CVS的ViewCVS 站点
- xml = 想要将统计结果输出到哪个XML文件(此文件应该事先有一个初始文件,以便追加引水结果)
- 就几项:
- 运行:
#python cvsanalyser.py
- 一切正常话,看到一些运行反馈后,XML文件就生成好了!
- 只要 .ico;.css;.xsl 文件和xml 文件在同一目录,直接从浏览器中打开XML 文件就可以看到完善的统计汇报了!
- 自动运行:
- FreeBSD 中当然是 cron 守护,Win32 中也差不多都是计划任务了,
- 反正都是一样的运行命令
- 不过,提醒的是:
- cvsanalyser.py 中,有一行现在还需要设置:
- {{{# 必须正确指定配置文件路径在此
- self.cfg.read("/home/zoomq/share/statcvs/cvsanalyser.conf") }}}
- 要指定设置文件的具体路径
- 好了!以上!感谢Python 可以令我快速的实现,任何想法!
怎么了?
也想这样来自动分析你的CVS?那未,设置中有什么问题,请在此讨论 Include(/WeeklycvsWhy)
- 反馈!