基本上我想在每次提交之后获取版本库中的代码行数。如何绘制git repo的代码行历史记录?
我发现的唯一的(真糟糕)的方法是使用git filter-branch
运行wc -l *
,而且每次提交运行git reset --hard
的脚本,然后运行wc -l
为了使它更清楚一点,当刀具运行时,它会输出第一次提交的代码行,然后输出第二次提交的代码行等等。这就是我想要的工具输出(作为一个例子):
[email protected]:~/$ gitsloc --branch master
10
48
153
450
1734
1542
我和红宝石“混帐”库玩耍了,但我发现用在一个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
在你的代码中`err`将总是`None`。 – jfs 2009-01-14 13:06:03
`如果不是line.strip():continue`可能会更健壮。 – jfs 2009-01-14 13:08:22