diff options
author | Robert Speicher <robert@gitlab.com> | 2016-02-05 21:45:48 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-02-05 21:45:48 +0000 |
commit | 70b7eacfb257f2f7473136789adf8c8a1fa872fb (patch) | |
tree | 45af80251dbfb5f4616a329b813417a44a95a290 | |
parent | 26f3cc41fc41f2901cc560aaecf1fe49cadda7ca (diff) | |
parent | b263ab618c59ff9e377780c6120ab60fd97aefd0 (diff) | |
download | gitlab-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-- | Gemfile | 2 | ||||
-rw-r--r-- | Gemfile.lock | 4 | ||||
-rw-r--r-- | app/models/repository.rb | 7 |
3 files changed, 8 insertions, 5 deletions
@@ -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 |