From 29fa930bafaf258754f90809fa317e22f4a3a128 Mon Sep 17 00:00:00 2001 From: Ahmad Sherif Date: Wed, 17 Jan 2018 13:21:46 +0000 Subject: Migrate .batch_lfs_pointers to Gitaly Closes gitaly#921 --- lib/gitlab/gitaly_client/blob_service.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'lib/gitlab/gitaly_client/blob_service.rb') diff --git a/lib/gitlab/gitaly_client/blob_service.rb b/lib/gitlab/gitaly_client/blob_service.rb index a250eb75bd4..ee36684197b 100644 --- a/lib/gitlab/gitaly_client/blob_service.rb +++ b/lib/gitlab/gitaly_client/blob_service.rb @@ -32,6 +32,26 @@ module Gitlab binary: Gitlab::Git::Blob.binary?(data) ) end + + def batch_lfs_pointers(blob_ids) + request = Gitaly::GetLFSPointersRequest.new( + repository: @gitaly_repo, + blob_ids: blob_ids + ) + + response = GitalyClient.call(@gitaly_repo.storage_name, :blob_service, :get_lfs_pointers, request) + + response.flat_map do |message| + message.lfs_pointers.map do |lfs_pointer| + Gitlab::Git::Blob.new( + id: lfs_pointer.oid, + size: lfs_pointer.size, + data: lfs_pointer.data, + binary: Gitlab::Git::Blob.binary?(lfs_pointer.data) + ) + end + end + end end end end -- cgit v1.2.3