背景
2019年年終總結,作為后端開發人員一整年的工作成果,最拿得出手的就是項目中的代碼提交量,而在我的工作中,代碼版本管理使用的是svn,但svn本身貌似不支持進行代碼統計,因此從網上找到了一個svn代碼統計的工具:StatSVN,該工具是由java寫的一個jar包:
statsvn.jar
,因此要使用該工具前,請確保安裝了jdk環境。
本文基於Windows操作系統。
開始使用
下載statsvn.jar工具
官網下載地址:http://www.statsvn.org/downloads.html
官網目前最新版本是
0.7.0
本人點擊時是無法下載的,因此這里提供另外一個下載地址:https://sourceforge.net/projects/statsvn/
確保svn支持命令行功能
- 在命令行工具輸入:
svn log
出現下面的情況,說明svn是支持命令行工具的,如果提示的是:
‘svn’不是內部或外部命令...
,則需要重裝svn
- 重裝svn
注意勾選上支持命令行工具
創建文件與目錄
- 這里在
E:\dev\Project\work\NewSmartToilet\svnlog\
下新建一個svn.log
文件和logs
文件夾,並把剛剛下載的statsvn.jar
包也放在當前目錄下。 logs
目錄用於存放最終生成統計的頁面。
准備命令
准備用於生成日志文件和頁面的兩個重要命令:生成
svn.log
文件和生成頁面,這里直接把命令放在bat
處理文件中,在E:\dev\Project\work\NewSmartToilet\svnlog\
目錄下新建一個log.bat文
件,並放入以下命令
cd E:\dev\Project\work\NewSmartToilet\SmartToilet
svn log -r {2019-01-01}:{2019-12-31} --xml -v > E:\dev\Project\work\NewSmartToilet\svnlog\svn.log
cd E:\dev\Project\work\NewSmartToilet\svnlog
java -jar statsvn.jar E:\dev\Project\work\NewSmartToilet\svnlog\svn.log E:\dev\Project\work\NewSmartToilet\SmartToilet -output-dir E:\dev\Project\work\NewSmartToilet\svnlog\logs
pause
說明
- 第一行表示進入到從svn checkout下來的項目目錄:
cd {項目路徑}
,這里checkout下來的項目為SmartToilet
。 - 第二行表示生成log文件:
svn -log -r {提交代碼的開始日期}:{提交代碼的結束日期} --xml -v > 生成的日志文件路徑
,這里生成的日志文件為svn.log
。 - 第三行進入到存放statsvn.jar的目錄:
cd {存放statsvn.jar的目錄}
- 第四行執行使用java命令生成文件:
java -jar statsvn.jar {上一步生成的日志文件路徑} {從svn checkout下來的項目目錄} -output-dir {最終生成的頁面存放的目錄}
。
結構目錄
- 最終結構目錄如下
生成分析頁面
- 雙擊
log.bat
處理文件,等待執行。 - 生成頁面后,點擊進入
logs
目錄,找到入口文件:index.html
,點擊查看。 - 最后生成的頁面如下
到目前為止
3千
多個文件,6萬
多行代碼,嗯。。。
完結,撒花。。。