diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-09-30 11:56:48 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-09-30 11:56:48 +0300 |
commit | e145f46a930b932ebc3ff70f75d69f45573cbad9 (patch) | |
tree | 914e42402b0e96474e13a895dc94205268e1d0d1 | |
parent | 57c0d9ec46c9ab2a229d0f212547611c6b3446ce (diff) | |
download | gitlab-ce-e145f46a930b932ebc3ff70f75d69f45573cbad9.tar.gz |
Fix contributors api
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r-- | app/models/repository.rb | 10 | ||||
-rw-r--r-- | spec/requests/api/repositories_spec.rb | 4 |
2 files changed, 6 insertions, 8 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index ed220ae2e8d..082086d8e5a 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -250,20 +250,18 @@ class Repository end def contributors - log = graph_log.group_by { |i| i[:author_email] } + commits = self.commits(nil, nil, 2000, 0, true) - log.map do |email, contributions| + commits.group_by(&:author_email).map do |email, commits| contributor = Gitlab::Contributor.new contributor.email = email - contributions.each do |contribution| + commits.each do |commit| if contributor.name.blank? - contributor.name = contribution[:author_name] + contributor.name = commit.author_name end contributor.commits += 1 - contributor.additions += contribution[:additions] || 0 - contributor.deletions += contribution[:deletions] || 0 end contributor diff --git a/spec/requests/api/repositories_spec.rb b/spec/requests/api/repositories_spec.rb index a339dbfe9db..6e54839b677 100644 --- a/spec/requests/api/repositories_spec.rb +++ b/spec/requests/api/repositories_spec.rb @@ -224,8 +224,8 @@ describe API::API, api: true do contributor['email'].should == 'dmitriy.zaporozhets@gmail.com' contributor['name'].should == 'Dmitriy Zaporozhets' contributor['commits'].should == 13 - contributor['additions'].should == 4081 - contributor['deletions'].should == 29 + contributor['additions'].should == 0 + contributor['deletions'].should == 0 end end end |