我正在使用GitPython。下面我打印特定提交中更改的总行数:f092795fe94ba727f7368b63d8eb1ecd39749fc4
:
from git import Repo
repo = Repo("C:/Users/shiro/Desktop/lucene-solr/")
sum_lines = 0
for blame_commit, lines_list in repo.blame('HEAD', 'lucene/core/src/java/org/apache/lucene/analysis/Analyzer.java'):
if blame_commit.hexsha == 'f092795fe94ba727f7368b63d8eb1ecd39749fc4':
sum_lines += len(lines_list)
print sum_lines
输出为38.但是,如果您只是转到https://github.com/apache/lucene-solr/commit/f092795fe94ba727f7368b63d8eb1ecd39749fc4并查看文件/lucene/analysis/Analyzer.java
的提交,实际更改的行数不是38,而是47.有些行完全没有了。
为什么我的错误值?
答案 0 :(得分:2)
null
告诉您哪个提交最后更改了给定文件中的每一行。
您不计算该提交中更改的行数,而是计算当前HEAD文件中最后由该特定提交修改的行数。
将await context.Forward(
new TestDialogForm(),
ChildTestDialogCompleted,
message,
System.Threading.CancellationToken.None);
更改为git blame
可以为您提供所期望的结果。
HEAD