2016-04-28 71 views
1

我想跟踪在git中随着时间的推移项目的改进。如何在git中创建LOC数据?

我需要按时间统计一行代码。例如。

Time  LOC 
-----  ----- 
01/01/2015 29021 
01/08/2015 29987 
...... 

gitstats正在抛出一些奇怪的错误。所以我需要另一种选择。

任何想法?

回答

1

这是一个想法的开始。

你可以有一个小脚本,它检查了裁判,并与输出所有非二进制代码的内容:

#!/bin/sh 
# catAll.sh 
git checkout $1; 
for i in `git grep --cached -Il ''`; do 
    cat $i 
done 

然后,通过管道将输出到wc得到LOC:

catAll.sh | wc -l 

获取的日期与承诺:

git show -s --format=%ci <sha> 

然后,(这可能需要很长时间添E要根据您的回购协议的大小)与HEAD运行命令,HEAD~HEAD~~,运行等

这将涉及一些脚本来把它放在一起,而是可以包裹在一个不错的命令吐出最后,比如5,提交点。