Re-enable Gitaly commit_raw_diff feature
This commit is contained in:
parent
6ad3814e1b
commit
34cd109797
6 changed files with 43 additions and 41 deletions
|
@ -1 +1 @@
|
|||
0.8.0
|
||||
0.10.0
|
||||
|
|
2
Gemfile
2
Gemfile
|
@ -367,6 +367,6 @@ gem 'vmstat', '~> 2.3.0'
|
|||
gem 'sys-filesystem', '~> 1.1.6'
|
||||
|
||||
# Gitaly GRPC client
|
||||
gem 'gitaly', '~> 0.5.0'
|
||||
gem 'gitaly', '~> 0.6.0'
|
||||
|
||||
gem 'toml-rb', '~> 0.3.15', require: false
|
||||
|
|
|
@ -263,7 +263,7 @@ GEM
|
|||
po_to_json (>= 1.0.0)
|
||||
rails (>= 3.2.0)
|
||||
gherkin-ruby (0.3.2)
|
||||
gitaly (0.5.0)
|
||||
gitaly (0.6.0)
|
||||
google-protobuf (~> 3.1)
|
||||
grpc (~> 1.0)
|
||||
github-linguist (4.7.6)
|
||||
|
@ -434,7 +434,7 @@ GEM
|
|||
rugged (~> 0.24)
|
||||
little-plugger (1.1.4)
|
||||
locale (2.1.2)
|
||||
logging (2.1.0)
|
||||
logging (2.2.2)
|
||||
little-plugger (~> 1.1)
|
||||
multi_json (~> 1.10)
|
||||
loofah (2.0.3)
|
||||
|
@ -922,7 +922,7 @@ DEPENDENCIES
|
|||
gettext (~> 3.2.2)
|
||||
gettext_i18n_rails (~> 1.8.0)
|
||||
gettext_i18n_rails_js (~> 1.2.0)
|
||||
gitaly (~> 0.5.0)
|
||||
gitaly (~> 0.6.0)
|
||||
github-linguist (~> 4.7.0)
|
||||
gitlab-flowdock-git-hook (~> 1.0.1)
|
||||
gitlab-markup (~> 1.5.1)
|
||||
|
|
|
@ -326,13 +326,14 @@ class Commit
|
|||
end
|
||||
|
||||
def raw_diffs(*args)
|
||||
# NOTE: This feature is intentionally disabled until
|
||||
# https://gitlab.com/gitlab-org/gitaly/issues/178 is resolved
|
||||
# if Gitlab::GitalyClient.feature_enabled?(:commit_raw_diffs)
|
||||
# Gitlab::GitalyClient::Commit.diff_from_parent(self, *args)
|
||||
# else
|
||||
raw.diffs(*args)
|
||||
# end
|
||||
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
|
||||
Gitlab::GitalyClient::Commit.diff_from_parent(self, *args)
|
||||
else
|
||||
raw.diffs(*args)
|
||||
end
|
||||
end
|
||||
|
||||
def diffs(diff_options = nil)
|
||||
|
|
|
@ -32,7 +32,9 @@ module Gitlab
|
|||
request = Gitaly::CommitDiffRequest.new(
|
||||
repository: gitaly_repo,
|
||||
left_commit_id: parent_id,
|
||||
right_commit_id: commit.id
|
||||
right_commit_id: commit.id,
|
||||
ignore_whitespace_change: options.fetch(:ignore_whitespace_change, false),
|
||||
paths: options.fetch(:paths, []),
|
||||
)
|
||||
|
||||
Gitlab::Git::DiffCollection.new(stub.commit_diff(request), options)
|
||||
|
|
|
@ -389,32 +389,31 @@ eos
|
|||
end
|
||||
end
|
||||
|
||||
# describe '#raw_diffs' do
|
||||
# TODO: Uncomment when feature is reenabled
|
||||
# context 'Gitaly commit_raw_diffs feature enabled' do
|
||||
# before do
|
||||
# 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)
|
||||
#
|
||||
# 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
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
describe '#raw_diffs' do
|
||||
context 'Gitaly commit_raw_diffs feature enabled' do
|
||||
before do
|
||||
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)
|
||||
|
||||
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
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue