diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2017-08-16 14:29:27 +0200 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2017-08-17 13:58:19 +0200 |
commit | 40752ce7e98b7bab03ffa9d49ea8a26f5d0e098b (patch) | |
tree | 1f174f597cabed550c739ec1b8cf00e6d4fcd7b2 /lib | |
parent | c3e0f31dfbd1ab3f17d9acaf9cba47cfbb280c1c (diff) | |
download | gitlab-ce-40752ce7e98b7bab03ffa9d49ea8a26f5d0e098b.tar.gz |
Use grpc 1.4.5grpc-1.4.5
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/gitaly_client/blob_service.rb | 13 | ||||
-rw-r--r-- | lib/gitlab/gitaly_client/commit_service.rb | 18 |
2 files changed, 22 insertions, 9 deletions
diff --git a/lib/gitlab/gitaly_client/blob_service.rb b/lib/gitlab/gitaly_client/blob_service.rb index 7ea8e8d0857..a250eb75bd4 100644 --- a/lib/gitlab/gitaly_client/blob_service.rb +++ b/lib/gitlab/gitaly_client/blob_service.rb @@ -13,10 +13,17 @@ module Gitlab ) response = GitalyClient.call(@gitaly_repo.storage_name, :blob_service, :get_blob, request) - blob = response.first - return unless blob.oid.present? + data = '' + blob = nil + response.each do |msg| + if blob.nil? + blob = msg + end - data = response.reduce(blob.data.dup) { |memo, msg| memo << msg.data.dup } + data << msg.data + end + + return nil if blob.oid.blank? Gitlab::Git::Blob.new( id: blob.oid, diff --git a/lib/gitlab/gitaly_client/commit_service.rb b/lib/gitlab/gitaly_client/commit_service.rb index 93268d9f33c..b36e81278d6 100644 --- a/lib/gitlab/gitaly_client/commit_service.rb +++ b/lib/gitlab/gitaly_client/commit_service.rb @@ -60,15 +60,21 @@ module Gitlab ) response = GitalyClient.call(@repository.storage, :commit_service, :tree_entry, request) - entry = response.first - return unless entry.oid.present? - if entry.type == :BLOB - rest_of_data = response.reduce("") { |memo, msg| memo << msg.data } - entry.data += rest_of_data + entry = nil + data = '' + response.each do |msg| + if entry.nil? + entry = msg + + break unless entry.type == :BLOB + end + + data << msg.data end + entry.data = data - entry + entry unless entry.oid.blank? end def tree_entries(repository, revision, path) |