Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/gitaly_client/blob_service.rb')
-rw-r--r--lib/gitlab/gitaly_client/blob_service.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/gitlab/gitaly_client/blob_service.rb b/lib/gitlab/gitaly_client/blob_service.rb
index e4c8dc150a5..362ecbd845d 100644
--- a/lib/gitlab/gitaly_client/blob_service.rb
+++ b/lib/gitlab/gitaly_client/blob_service.rb
@@ -19,6 +19,25 @@ module Gitlab
consume_blob_response(response)
end
+ def list_blobs(revisions, limit: 0, bytes_limit: 0, dynamic_timeout: nil)
+ request = Gitaly::ListBlobsRequest.new(
+ repository: @gitaly_repo,
+ revisions: Array.wrap(revisions),
+ limit: limit,
+ bytes_limit: bytes_limit
+ )
+
+ timeout =
+ if dynamic_timeout
+ [dynamic_timeout, GitalyClient.medium_timeout].min
+ else
+ GitalyClient.medium_timeout
+ end
+
+ response = GitalyClient.call(@gitaly_repo.storage_name, :blob_service, :list_blobs, request, timeout: timeout)
+ GitalyClient::BlobsStitcher.new(GitalyClient::ListBlobsAdapter.new(response))
+ end
+
def batch_lfs_pointers(blob_ids)
return [] if blob_ids.empty?