diff --git a/lib/gitlab/git/blob.rb b/lib/gitlab/git/blob.rb index 0b98be3a14f..77b81d2d437 100644 --- a/lib/gitlab/git/blob.rb +++ b/lib/gitlab/git/blob.rb @@ -51,18 +51,17 @@ module Gitlab end # Returns an array of Blob instances, specified in blob_references as - # [[commit_sha, path], [commit_sha, path], ...]. If limit < 0 then the - # full blob contents are returned. If limit >= 0 then each blob will + # [[commit_sha, path], [commit_sha, path], ...]. If blob_size_limit < 0 then the + # full blob contents are returned. If blob_size_limit >= 0 then each blob will # contain no more than limit bytes in its data attribute. # # Keep in mind that this method may allocate a lot of memory. It is up - # to the caller to limit the number of blobs and/or the content limit - # for the individual blobs. + # to the caller to limit the number of blobs and blob_size_limit. # - def batch(repository, blob_references, limit: nil) - limit ||= MAX_DATA_DISPLAY_SIZE + def batch(repository, blob_references, blob_size_limit: nil) + blob_size_limit ||= MAX_DATA_DISPLAY_SIZE blob_references.map do |sha, path| - find_by_rugged(repository, sha, path, limit: limit) + find_by_rugged(repository, sha, path, limit: blob_size_limit) end end diff --git a/spec/lib/gitlab/git/blob_spec.rb b/spec/lib/gitlab/git/blob_spec.rb index ed2a781b172..dd4bec653f2 100644 --- a/spec/lib/gitlab/git/blob_spec.rb +++ b/spec/lib/gitlab/git/blob_spec.rb @@ -181,10 +181,10 @@ describe Gitlab::Git::Blob, seed_helper: true do end context 'limiting' do - subject { described_class.batch(repository, blob_references, limit: limit) } + subject { described_class.batch(repository, blob_references, blob_size_limit: blob_size_limit) } context 'default' do - let(:limit) { nil } + let(:blob_size_limit) { nil } it 'limits to MAX_DATA_DISPLAY_SIZE' do stub_const('Gitlab::Git::Blob::MAX_DATA_DISPLAY_SIZE', 100) @@ -194,19 +194,19 @@ describe Gitlab::Git::Blob, seed_helper: true do end context 'positive' do - let(:limit) { 10 } + let(:blob_size_limit) { 10 } it { expect(subject.first.data.size).to eq(10) } end context 'zero' do - let(:limit) { 0 } + let(:blob_size_limit) { 0 } it { expect(subject.first.data).to eq('') } end context 'negative' do - let(:limit) { -1 } + let(:blob_size_limit) { -1 } it 'ignores MAX_DATA_DISPLAY_SIZE' do stub_const('Gitlab::Git::Blob::MAX_DATA_DISPLAY_SIZE', 100)