summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-02-05 21:45:48 +0000
committerRobert Speicher <robert@gitlab.com>2016-02-05 21:45:48 +0000
commit70b7eacfb257f2f7473136789adf8c8a1fa872fb (patch)
tree45af80251dbfb5f4616a329b813417a44a95a290
parent26f3cc41fc41f2901cc560aaecf1fe49cadda7ca (diff)
parentb263ab618c59ff9e377780c6120ab60fd97aefd0 (diff)
downloadgitlab-ce-70b7eacfb257f2f7473136789adf8c8a1fa872fb.tar.gz
Merge branch 'improve-diverging-commit-counts' into 'master'
Dedicated method for counting commits between refs Corresponding gitlab_git merge request: https://gitlab.com/gitlab-org/gitlab_git/merge_requests/66 Issue that lead to these changes: https://gitlab.com/gitlab-org/gitlab-ce/issues/12619 See merge request !2707
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock4
-rw-r--r--app/models/repository.rb7
3 files changed, 8 insertions, 5 deletions
diff --git a/Gemfile b/Gemfile
index ff119a6d687..a13f49ad50e 100644
--- a/Gemfile
+++ b/Gemfile
@@ -50,7 +50,7 @@ gem "browser", '~> 1.0.0'
# Extracting information from a git repository
# Provide access to Gitlab::Git library
-gem "gitlab_git", '~> 8.0.0'
+gem "gitlab_git", '~> 8.1'
# LDAP Auth
# GitLab fork with several improvements to original library. For full list of changes
diff --git a/Gemfile.lock b/Gemfile.lock
index a7a5db29e35..df5099c7581 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -357,7 +357,7 @@ GEM
posix-spawn (~> 0.3)
gitlab_emoji (0.2.0)
gemojione (~> 2.1)
- gitlab_git (8.0.0)
+ gitlab_git (8.1.0)
activesupport (~> 4.0)
charlock_holmes (~> 0.7.3)
github-linguist (~> 4.7.0)
@@ -932,7 +932,7 @@ DEPENDENCIES
github-markup (~> 1.3.1)
gitlab-flowdock-git-hook (~> 1.0.1)
gitlab_emoji (~> 0.2.0)
- gitlab_git (~> 8.0.0)
+ gitlab_git (~> 8.1)
gitlab_meta (= 7.0)
gitlab_omniauth-ldap (~> 1.2.1)
gollum-lib (~> 4.1.0)
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 130daddd9d1..e813c946bc1 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -184,8 +184,11 @@ class Repository
cache.fetch(:"diverging_commit_counts_#{branch.name}") do
# Rugged seems to throw a `ReferenceError` when given branch_names rather
# than SHA-1 hashes
- number_commits_behind = commits_between(branch.target, root_ref_hash).size
- number_commits_ahead = commits_between(root_ref_hash, branch.target).size
+ number_commits_behind = raw_repository.
+ count_commits_between(branch.target, root_ref_hash)
+
+ number_commits_ahead = raw_repository.
+ count_commits_between(root_ref_hash, branch.target)
{ behind: number_commits_behind, ahead: number_commits_ahead }
end