Remove deltas_only from DiffCollection

This commit is contained in:
Jacob Vosmaer 2017-05-11 10:52:45 +02:00
parent f737a079ce
commit 27fb64d6a3
3 changed files with 5 additions and 32 deletions

View file

@ -326,10 +326,7 @@ class Commit
end
def raw_diffs(*args)
use_gitaly = Gitlab::GitalyClient.feature_enabled?(:commit_raw_diffs)
deltas_only = args.last.is_a?(Hash) && args.last[:deltas_only]
if use_gitaly && !deltas_only
if Gitlab::GitalyClient.feature_enabled?(:commit_raw_diffs)
Gitlab::GitalyClient::Commit.diff_from_parent(self, *args)
else
raw.diffs(*args)

View file

@ -15,7 +15,6 @@ module Gitlab
@safe_max_bytes = @safe_max_files * 5120 # Average 5 KB per file
@all_diffs = !!options.fetch(:all_diffs, false)
@no_collapse = !!options.fetch(:no_collapse, true)
@deltas_only = !!options.fetch(:deltas_only, false)
@line_count = 0
@byte_count = 0
@ -27,8 +26,6 @@ module Gitlab
if @populated
# @iterator.each is slower than just iterating the array in place
@array.each(&block)
elsif @deltas_only
each_delta(&block)
else
Gitlab::GitalyClient.migrate(:commit_raw_diffs) do
each_patch(&block)
@ -81,14 +78,6 @@ module Gitlab
files >= @safe_max_files || @line_count > @safe_max_lines || @byte_count >= @safe_max_bytes
end
def each_delta
@iterator.each_delta.with_index do |delta, i|
diff = Gitlab::Git::Diff.new(delta)
yield @array[i] = diff
end
end
def each_patch
@iterator.each_with_index do |raw, i|
# First yield cached Diff instances from @array

View file

@ -395,24 +395,11 @@ eos
allow(Gitlab::GitalyClient).to receive(:feature_enabled?).with(:commit_raw_diffs).and_return(true)
end
context 'when a truthy deltas_only is not passed to args' do
it 'fetches diffs from Gitaly server' do
expect(Gitlab::GitalyClient::Commit).to receive(:diff_from_parent).
with(commit)
it 'fetches diffs from Gitaly server' do
expect(Gitlab::GitalyClient::Commit).to receive(:diff_from_parent).
with(commit)
commit.raw_diffs
end
end
context 'when a truthy deltas_only is passed to args' do
it 'fetches diffs using Rugged' do
opts = { deltas_only: true }
expect(Gitlab::GitalyClient::Commit).not_to receive(:diff_from_parent)
expect(commit.raw).to receive(:diffs).with(opts)
commit.raw_diffs(opts)
end
commit.raw_diffs
end
end
end