diff options
author | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-07-16 17:27:53 -0300 |
---|---|---|
committer | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-07-16 17:28:03 -0300 |
commit | e2388cc220606fa4b098134737a41315282a4159 (patch) | |
tree | a9609aabfd4f7c2fd5ff143c03e7d8648adb46ae | |
parent | 9f524bbe534208f552b6689ecc103ae7094e99b8 (diff) | |
download | gitlab-ce-osw-diff-numstat-client.tar.gz |
Create wrapper to use Gitaly DiffNumStat RPCosw-diff-numstat-client
-rw-r--r-- | changelogs/unreleased/osw-diff-numstat-client.yml | 5 | ||||
-rw-r--r-- | lib/gitlab/gitaly_client/commit_service.rb | 14 | ||||
-rw-r--r-- | spec/lib/gitlab/gitaly_client/commit_service_spec.rb | 16 |
3 files changed, 35 insertions, 0 deletions
diff --git a/changelogs/unreleased/osw-diff-numstat-client.yml b/changelogs/unreleased/osw-diff-numstat-client.yml new file mode 100644 index 00000000000..309fdc2c290 --- /dev/null +++ b/changelogs/unreleased/osw-diff-numstat-client.yml @@ -0,0 +1,5 @@ +--- +title: Create wrapper to use Gitaly DiffNumStat RPC +merge_request: +author: +type: added diff --git a/lib/gitlab/gitaly_client/commit_service.rb b/lib/gitlab/gitaly_client/commit_service.rb index 6a97cd8ed17..dac6ab7ea5f 100644 --- a/lib/gitlab/gitaly_client/commit_service.rb +++ b/lib/gitlab/gitaly_client/commit_service.rb @@ -268,6 +268,20 @@ module Gitlab GitalyClient.call(@repository.storage, :commit_service, :commit_stats, request, timeout: GitalyClient.medium_timeout) end + def diff_num_stats(left_commit_id, right_commit_id) + request = Gitaly::DiffNumStatRequest.new(repository: @gitaly_repo, + left_commit_id: left_commit_id, + right_commit_id: right_commit_id) + + response = GitalyClient.call(@repository.storage, + :diff_service, + :diff_num_stat, + request, + timeout: GitalyClient.medium_timeout) + + response.flat_map { |message| message.num_stats } + end + def find_commits(options) request = Gitaly::FindCommitsRequest.new( repository: @gitaly_repo, diff --git a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb index 54f2ea33f90..293a6048c11 100644 --- a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb +++ b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb @@ -104,6 +104,22 @@ describe Gitlab::GitalyClient::CommitService do end end + describe '#diff_num_stats' do + let(:left_commit_id) { 'master' } + let(:right_commit_id) { 'cfe32cf61b73a0d5e9f13e774abde7ff789b1660' } + + it 'sends a RPC request' do + request = Gitaly::DiffNumStatRequest.new(repository: repository_message, + left_commit_id: left_commit_id, + right_commit_id: right_commit_id) + + expect_any_instance_of(Gitaly::DiffService::Stub).to receive(:diff_num_stat) + .with(request, kind_of(Hash)).and_return([]) + + described_class.new(repository).diff_num_stats(left_commit_id, right_commit_id) + end + end + describe '#tree_entries' do let(:path) { '/' } |