diff --git a/roles/batcave/files/fedmsg-announce-commits.py b/roles/batcave/files/fedmsg-announce-commits.py index 70fa95f105..2e55170128 100644 --- a/roles/batcave/files/fedmsg-announce-commits.py +++ b/roles/batcave/files/fedmsg-announce-commits.py @@ -49,10 +49,21 @@ def build_stats(commit): for diff in diffs: for patch in diff: - path = patch.new_file_path - files[path]['additions'] += patch.additions - files[path]['deletions'] += patch.deletions - files[path]['lines'] += patch.additions + patch.deletions + if hasattr(patch, 'new_file_path'): + path = patch.new_file_path + else: + path = patch.old_file_path + + if hasattr(patch, 'additions'): + files[path]['additions'] += patch.additions + files[path]['deletions'] += patch.deletions + files[path]['lines'] += patch.additions + patch.deletions + else: + files[path]['additions'] += patch.line_stats[1] + files[path]['deletions'] += patch.line_stats[2] + files[path]['lines'] += patch.line_stats[1] \ + + patch.line_stats[2] + total = defaultdict(int) for name, stats in files.items(): diff --git a/roles/git/hooks/files/post-receive-fedmsg b/roles/git/hooks/files/post-receive-fedmsg index 782accde62..95c6769983 100755 --- a/roles/git/hooks/files/post-receive-fedmsg +++ b/roles/git/hooks/files/post-receive-fedmsg @@ -53,10 +53,20 @@ def build_stats(commit): for diff in diffs: for patch in diff: - path = patch.new_file_path - files[path]['additions'] += patch.additions - files[path]['deletions'] += patch.deletions - files[path]['lines'] += patch.additions + patch.deletions + if hasattr(patch, 'new_file_path'): + path = patch.new_file_path + else: + path = patch.old_file_path + + if hasattr(patch, 'additions'): + files[path]['additions'] += patch.additions + files[path]['deletions'] += patch.deletions + files[path]['lines'] += patch.additions + patch.deletions + else: + files[path]['additions'] += patch.line_stats[1] + files[path]['deletions'] += patch.line_stats[2] + files[path]['lines'] += patch.line_stats[1] \ + + patch.line_stats[2] total = defaultdict(int) for name, stats in files.items():