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:
authorAhmad Sherif <me@ahmadsherif.com>2018-01-17 16:21:46 +0300
committerAhmad Sherif <me@ahmadsherif.com>2018-01-24 21:02:51 +0300
commit29fa930bafaf258754f90809fa317e22f4a3a128 (patch)
tree5d16355e752a02cbd74c4e2f93093d83444dd182 /lib/gitlab/gitaly_client/blob_service.rb
parenta403011e4f7adae339a3a8584e22a75f4872c3c5 (diff)
Migrate .batch_lfs_pointers to Gitaly
Closes gitaly#921
Diffstat (limited to 'lib/gitlab/gitaly_client/blob_service.rb')
-rw-r--r--lib/gitlab/gitaly_client/blob_service.rb20
1 files changed, 20 insertions, 0 deletions
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