tortoisesvn版本图仅展示提交拓扑结构,不统计代码行数;分析代码增长需用statsvn生成含sloc时间曲线的html报告,依赖svnlog.xml与java环境。

TortoiseSVN本身不提供代码行数或项目规模的统计图表,它的“版本图”(Revision Graph)是展示文件/目录历史提交关系的拓扑图,用于分析分支、合并、重命名等结构演化,不是代码量增长趋势图。要分析代码增长趋势,需借助外部工具如StatSVN。
下面分两部分说明:
一、用TortoiseSVN版本图看“结构演进”,而非“代码增长”
版本图反映的是谁在何时提交了什么修订,以及分支如何产生与合并,对理解项目演进节奏有帮助,但无法直接看出代码行数增减。
操作方式:
- 右键点击文件夹 → “TortoiseSVN” → “版本图”
- 图中每个节点代表一次提交,连线表示父子/分支/合并关系
- 颜色区分不同分支(如 trunk 蓝色、branches/redesign 红色)
- 悬停节点可查看作者、时间、日志摘要
适用场景:
- 快速定位某次功能上线对应的分支起点与合并点
- 判断某文件是否被多次重命名或移动(图中出现虚线迁移箭头)
- 发现长期未合并的孤立分支(悬空分支链)
注意:它不显示每版新增/删除多少行代码,也不聚合统计。
二、真正分析代码增长趋势:用StatSVN生成时间线图表
StatSVN能从SVN日志中提取数据,生成含“代码行数随时间变化”曲线的HTML报告。
关键步骤:
- 确保已安装Java运行环境和TortoiseSVN命令行组件(安装时勾选“Command line tools”)
- 在工作副本根目录打开命令行,执行:
svn log -v --xml > svnlog.xml - 下载解压StatSVN(如 statsvn-0.7.0.zip)
- 运行命令:
java -jar statsvn.jar svnlog.xml .
(最后的.表示当前工作副本路径)
生成的报告中重点关注:
- Lines of Code over Time:折线图,横轴为日期,纵轴为总代码行(SLOC)、注释行、空白行
- Developer Activity:各成员提交频次与代码贡献量对比
- File Growth:最大文件、平均文件大小、文件数量变化趋势
提示:若只关心主干(trunk)增长,可在生成日志时限定路径:svn log -v --xml trunk/ > trunk-log.xml
不复杂但容易忽略











