summaryrefslogtreecommitdiff
path: root/lib/gitlab/gitaly_client
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2018-01-03 17:35:32 +0000
committerRobert Speicher <robert@gitlab.com>2018-01-03 17:35:32 +0000
commitf7cb21930abaaa94118c1981149010abdd62de1a (patch)
tree509210a0201581266ceee28370ec13ff9f66b830 /lib/gitlab/gitaly_client
parent91cb64bf0fb3096f07174585f5a0e3db69181571 (diff)
parent4b5b43383aa0bb391d131cdbfa55932579420f5b (diff)
downloadgitlab-ce-f7cb21930abaaa94118c1981149010abdd62de1a.tar.gz
Merge branch 'migrate-fork-repo-to-gitaly' into 'master'
Migrate repo forking to Gitaly Closes gitaly#825 See merge request gitlab-org/gitlab-ce!16018
Diffstat (limited to 'lib/gitlab/gitaly_client')
-rw-r--r--lib/gitlab/gitaly_client/repository_service.rb16
-rw-r--r--lib/gitlab/gitaly_client/util.rb2
2 files changed, 17 insertions, 1 deletions
diff --git a/lib/gitlab/gitaly_client/repository_service.rb b/lib/gitlab/gitaly_client/repository_service.rb
index 2115f388d5b..d43d80da960 100644
--- a/lib/gitlab/gitaly_client/repository_service.rb
+++ b/lib/gitlab/gitaly_client/repository_service.rb
@@ -81,6 +81,22 @@ module Gitlab
response.base.presence
end
+ def fork_repository(source_repository)
+ request = Gitaly::CreateForkRequest.new(
+ repository: @gitaly_repo,
+ source_repository: source_repository.gitaly_repository
+ )
+
+ GitalyClient.call(
+ @storage,
+ :repository_service,
+ :create_fork,
+ request,
+ remote_storage: source_repository.storage,
+ timeout: GitalyClient.default_timeout
+ )
+ end
+
def fetch_source_branch(source_repository, source_branch, local_ref)
request = Gitaly::FetchSourceBranchRequest.new(
repository: @gitaly_repo,
diff --git a/lib/gitlab/gitaly_client/util.rb b/lib/gitlab/gitaly_client/util.rb
index 7a3fffae9b6..a8c6d478de8 100644
--- a/lib/gitlab/gitaly_client/util.rb
+++ b/lib/gitlab/gitaly_client/util.rb
@@ -12,7 +12,7 @@ module Gitlab
Gitaly::Repository.new(
storage_name: repository_storage,
relative_path: relative_path,
- gl_repository: gl_repository,
+ gl_repository: gl_repository.to_s,
git_object_directory: git_object_directory.to_s,
git_alternate_object_directories: git_alternate_object_directories
)