基本上,我希望在每次提交后获得存储库中的代码行数.
我发现的唯一(非常糟糕的)方法是使用git filter-branch
来运行wc -l *
,一个脚本在每次提交时运行git reset --hard
,然后运行wc -l
更清楚地说,当该工具运行时,它将输出第一次提交的代码行,然后是第二次提交的代码行,依此类推.这就是我希望工具输出的内容(例如):
me@something:~/$ gitsloc --branch master
10
48
153
450
1734
1542
我已经使用过ruby'git'库,但我发现最接近的方法是在diff上使用.lines()
方法,它似乎应该给出添加的行(但没有:例如,当删除行时,它返回0)
require 'rubygems'
require 'git'
total = 0
g = Git.open(working_dir = '/Users/dbr/Desktop/code_projects/tvdb_api')
last = nil
g.log.each do |cur|
diff = g.diff(last, cur)
total = total + diff.lines
puts total
last = cur
end