ListCommitByOid isn't called with an empty batch

Batching commits for performance improvements, might lead to empty
batches being used. This isn't the case yet, but to guard against this
in future cases, a guard clause is added.
This commit is contained in:
Zeger-Jan van de Weg 2018-06-13 15:23:34 +02:00
parent 7fc47faeb6
commit e4a9b0771a
No known key found for this signature in database
GPG Key ID: 65F6A8D64A88ABAC
2 changed files with 12 additions and 0 deletions

View File

@ -179,6 +179,8 @@ module Gitlab
end
def list_commits_by_oid(oids)
return [] if oids.empty?
request = Gitaly::ListCommitsByOidRequest.new(repository: @gitaly_repo, oid: oids)
response = GitalyClient.call(@repository.storage, :commit_service, :list_commits_by_oid, request, timeout: GitalyClient.medium_timeout)

View File

@ -421,6 +421,16 @@ describe Gitlab::Git::Commit, seed_helper: true do
end
end
describe '#batch_by_oid' do
context 'when oids is empty' do
it 'makes no Gitaly request' do
expect(Gitlab::GitalyClient).not_to receive(:call)
described_class.batch_by_oid(repository, [])
end
end
end
shared_examples 'extracting commit signature' do
context 'when the commit is signed' do
let(:commit_id) { '0b4bc9a49b562e85de7cc9e834518ea6828729b9' }