summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhmad Hassan <ahmad.hassan612@gmail.com>2018-06-07 15:10:35 +0200
committerAhmad Hassan <ahmad.hassan612@gmail.com>2018-06-08 12:39:20 +0200
commit2bbac66cae09a1dde81121399daa56bf166dd78e (patch)
tree4070934251bcb2b84cfb8ed82c5ddf13fe871758
parent59a8c79f0598d4afafbebeb7e3786a03e555f85d (diff)
downloadgitlab-ce-2bbac66cae09a1dde81121399daa56bf166dd78e.tar.gz
Refactor
-rw-r--r--lib/gitlab/gitaly_client/repository_service.rb67
1 files changed, 32 insertions, 35 deletions
diff --git a/lib/gitlab/gitaly_client/repository_service.rb b/lib/gitlab/gitaly_client/repository_service.rb
index 7323cb65c29..4340f779e53 100644
--- a/lib/gitlab/gitaly_client/repository_service.rb
+++ b/lib/gitlab/gitaly_client/repository_service.rb
@@ -213,47 +213,20 @@ module Gitlab
end
def create_from_bundle(bundle_path)
- request = Gitaly::CreateRepositoryFromBundleRequest.new(repository: @gitaly_repo)
- enum = Enumerator.new do |y|
- File.open(bundle_path, 'rb') do |f|
- while data = f.read(MAX_MSG_SIZE)
- request.data = data
-
- y.yield request
-
- request = Gitaly::CreateRepositoryFromBundleRequest.new
- end
- end
- end
-
- GitalyClient.call(
- @storage,
- :repository_service,
+ gitaly_repo_stream_request(
+ bundle_path,
:create_repository_from_bundle,
- enum,
- timeout: GitalyClient.default_timeout
+ Gitaly::CreateRepositoryFromBundleRequest,
+ GitalyClient.default_timeout
)
end
def restore_custom_hooks(custom_hooks_path)
- request = Gitaly::RestoreCustomHooksRequest.new(repository: @gitaly_repo)
- enum = Enumerator.new do |y|
- File.open(custom_hooks_path, 'rb') do |f|
- while data = f.read(MAX_MSG_SIZE)
- request.data = data
-
- y.yield request
- request = Gitaly::RestoreCustomHooksRequest.new
- end
- end
- end
-
- GitalyClient.call(
- @storage,
- :repository_service,
+ gitaly_repo_stream_request(
+ custom_hooks_path,
:restore_custom_hooks,
- enum,
- timeout: GitalyClient.default_timeout
+ Gitaly::RestoreCustomHooksRequest,
+ GitalyClient.default_timeout
)
end
@@ -333,6 +306,30 @@ module Gitlab
request = Gitaly::SearchFilesByContentRequest.new(repository: @gitaly_repo, ref: ref, query: query)
GitalyClient.call(@storage, :repository_service, :search_files_by_content, request).flat_map(&:matches)
end
+
+ private
+
+ def gitaly_repo_stream_request(file_path, rpc_name, request_class, timeout)
+ request = request_class.new(repository: @gitaly_repo)
+ enum = Enumerator.new do |y|
+ File.open(file_path, 'rb') do |f|
+ while data = f.read(MAX_MSG_SIZE)
+ request.data = data
+
+ y.yield request
+ request = request_class.new
+ end
+ end
+ end
+
+ GitalyClient.call(
+ @storage,
+ :repository_service,
+ rpc_name,
+ enum,
+ timeout: timeout
+ )
+ end
end
end
end