From 33caad43802eb9fa807231ee38a1ddf2418e65ea Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Tue, 28 Nov 2017 21:43:31 +0800 Subject: We could simply count the commits --- app/models/merge_request.rb | 3 ++- lib/gitlab/git/repository.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index e4d8f486c77..7c69617a49f 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -887,7 +887,8 @@ class MergeRequest < ActiveRecord::Base def compute_diverged_commits_count return 0 unless source_branch_sha && target_branch_sha - Gitlab::Git::Commit.between(target_project.repository.raw_repository, source_branch_sha, target_branch_sha).size + target_project.repository + .count_commits_between(source_branch_sha, target_branch_sha) end private :compute_diverged_commits_count diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index a6e7c410bdd..563f56ac549 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -505,7 +505,7 @@ module Gitlab # Counts the amount of commits between `from` and `to`. def count_commits_between(from, to) - Commit.between(self, from, to).size + count_commits(ref: "#{from}..#{to}") end # Returns the SHA of the most recent common ancestor of +from+ and +to+ -- cgit v1.2.1