Commit 792af55f authored by Jan Provaznik's avatar Jan Provaznik

Merge branch 'jc-deprecate-diverging-count-with-max' into 'master'

Deprecate diverging commit count with max parameter

Closes gitaly#1702

See merge request gitlab-org/gitlab-ce!30275
parents f7d19f8b 2ceffce1
......@@ -8,12 +8,4 @@ module BranchesHelper
def protected_branch?(project, branch)
ProtectedBranch.protected?(project, branch.name)
end
def diverging_count_label(count)
if count >= Repository::MAX_DIVERGING_COUNT
"#{Repository::MAX_DIVERGING_COUNT - 1}+"
else
count.to_s
end
end
end
......@@ -6,7 +6,6 @@ class Repository
REF_MERGE_REQUEST = 'merge-requests'.freeze
REF_KEEP_AROUND = 'keep-around'.freeze
REF_ENVIRONMENTS = 'environments'.freeze
MAX_DIVERGING_COUNT = 1000
RESERVED_REFS_NAMES = %W[
heads
......
......@@ -8,11 +8,7 @@ module Branches
end
def call(branch)
if Feature.enabled?('gitaly_count_diverging_commits_no_max')
diverging_commit_counts_without_max(branch)
else
diverging_commit_counts(branch)
end
diverging_commit_counts(branch)
end
private
......@@ -22,26 +18,8 @@ module Branches
delegate :raw_repository, to: :repository
def diverging_commit_counts(branch)
## TODO: deprecate the below code after 12.0
@root_ref_hash ||= raw_repository.commit(repository.root_ref).id
cache.fetch(:"diverging_commit_counts_#{branch.name}") do
number_commits_behind, number_commits_ahead =
repository.raw_repository.diverging_commit_count(
@root_ref_hash,
branch.dereferenced_target.sha,
max_count: Repository::MAX_DIVERGING_COUNT)
if number_commits_behind + number_commits_ahead >= Repository::MAX_DIVERGING_COUNT
{ distance: Repository::MAX_DIVERGING_COUNT }
else
{ behind: number_commits_behind, ahead: number_commits_ahead }
end
end
end
def diverging_commit_counts_without_max(branch)
@root_ref_hash ||= raw_repository.commit(repository.root_ref).id
cache.fetch(:"diverging_commit_counts_without_max_#{branch.name}") do
number_commits_behind, number_commits_ahead =
raw_repository.diverging_commit_count(
@root_ref_hash,
......
......@@ -19,34 +19,13 @@ describe Branches::DivergingCommitCountsService do
expect(result).to eq(behind: 29, ahead: 2)
end
context 'when gitaly_count_diverging_commits_no_max is enabled' do
before do
stub_feature_flags(gitaly_count_diverging_commits_no_max: true)
end
it 'calls diverging_commit_count without max count' do
expect(repository.raw_repository)
.to receive(:diverging_commit_count)
.with(root_ref_sha, diverged_branch_sha)
.and_return([29, 2])
service.call(diverged_branch)
end
end
context 'when gitaly_count_diverging_commits_no_max is disabled' do
before do
stub_feature_flags(gitaly_count_diverging_commits_no_max: false)
end
it 'calls diverging_commit_count with max count' do
expect(repository.raw_repository)
.to receive(:diverging_commit_count)
.with(root_ref_sha, diverged_branch_sha, max_count: Repository::MAX_DIVERGING_COUNT)
.and_return([29, 2])
it 'calls diverging_commit_count without max count' do
expect(repository.raw_repository)
.to receive(:diverging_commit_count)
.with(root_ref_sha, diverged_branch_sha)
.and_return([29, 2])
service.call(diverged_branch)
end
service.call(diverged_branch)
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment