summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/repository.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 22c16abe480..89bf12ce9ef 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -242,4 +242,25 @@ class Repository
branches
end
end
+
+ def contributors
+ log = graph_log.group_by { |i| i[:author_email] }
+
+ log.map do |email, contributions|
+ contributor = Gitlab::Contributor.new
+ contributor.email = email
+
+ contributions.each do |contribution|
+ if contributor.name.blank?
+ contributor.name = contribution[:author_name]
+ end
+
+ contributor.commits += 1
+ contributor.additions += contribution[:additions] || 0
+ contributor.deletions += contribution[:deletions] || 0
+ end
+
+ contributor
+ end
+ end
end