pygit2 を使用して、変更されたファイルの総数、挿入の総数、削除の総数、およびファイルの相対パスを取得できます。以下のコードを参照してください。git diff --stats
ただし、ショーなどの変更されたファイルごとに変更された行の統計を取得する方法が見つかりません。pygit2でできますか?
def get_diff_stats(repo_path, commit_a, commit_b):
repo = Repository("{}/.git".format(repo_path))
diff = repo.diff(commit_a, commit_b)
print(diff.stats.files_changed)
print(diff.stats.insertions)
print(diff.stats.deletions)
for delta in diff.deltas:
print(delta.new_file.path, delta.status_char())