summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Cai <jcai@gitlab.com>2019-07-16 11:06:29 -0700
committerJohn Cai <jcai@gitlab.com>2019-07-16 11:06:29 -0700
commit9f844a116f850bea0d0ca6269fe1acc3b6b2abf1 (patch)
tree8715e45cb24265965a2595b40c66fc9486cfed05
parentcca71da16ac12d3df787de3f3a0cd60d30649a1d (diff)
downloadgitlab-ce-jc-add-clone-from-pool-client-methods.tar.gz
Add clone_from_pool, clone_from_pool_internal client methodsjc-add-clone-from-pool-client-methods
-rw-r--r--lib/gitlab/gitaly_client/repository_service.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/gitlab/gitaly_client/repository_service.rb b/lib/gitlab/gitaly_client/repository_service.rb
index ca3e5b51ecc..ebe195c4198 100644
--- a/lib/gitlab/gitaly_client/repository_service.rb
+++ b/lib/gitlab/gitaly_client/repository_service.rb
@@ -346,6 +346,29 @@ module Gitlab
GitalyClient.call(@storage, :object_pool_service, :disconnect_git_alternates, request)
end
+ def clone_from_pool(object_pool, remote)
+ request = Gitaly::CloneFromPoolRequest.new(
+ repository: @gitaly_repo,
+ pool: object_pool.gitaly_object_pool,
+ remote: remote
+ )
+
+ GitalyClient.call(@storage, :repository_service,
+ :clone_from_pool, request)
+ end
+
+ def clone_from_pool_internal(source_repository, object_pool)
+ request = Gitaly::CloneFromPoolInternalRequest.new(
+ source_repository: source_repository.gitaly_repository,
+ repository: @gitaly_repo,
+ pool: object_pool.gitaly_object_pool
+ )
+
+ GitalyClient.call(@storage, :repository_service,
+ :clone_from_pool_internal, request,
+ remote_storage: source_repository.storage)
+ end
+
private
def search_results_from_response(gitaly_response)