2012-03-15 117 views
3

我有一个文件,其中有一个提交id的列表,我试图编写一个脚本来计算每个提交中的行数。什么是最简单/最好的方法来做到这一点?我已经写了几行python,但我真的对任何语言都开放。SLOC在git commit

回答

1

使用--numstat(对于每个文件的变化)或--shortstat(为的变化之和)作为参数传递给git showgit log,或者git diff-tree

例如,在bash:

while read sha; do 
    git diff-tree --shortstat $sha $sha^ 
done 

注意的是,各种diffstat标志可以传递给检查提交几乎所有的git的命令,但他们只是在git-diff-tree的手册页中。

+0

这不会告诉我提交之间的界限吗?我需要添加一个提交的行数。就像如果您要将补丁下载为补丁一样,补丁会添加多少行? – 2012-03-15 16:33:05

+0

这就是diffstat的含义。插入次数和删除次数。 – 2012-03-15 16:34:57

+0

谢谢,当我只提供一个沙,效果很好。这仍然需要一些后处理,但我期待这一点。 – 2012-03-15 16:44:25