diff options
author | Stan Hu <stanhu@gmail.com> | 2019-01-17 09:40:23 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-02-06 08:33:09 +0300 |
commit | 6bac612dc4545abcbbfc86477417f711e02427ba (patch) | |
tree | a1dd2e6e3dc88715101e0ad0f2261c1dacd414be /lib/gitlab/shell.rb | |
parent | 82b6e5378ab7c63b166229388f0a9b1bd79319c7 (diff) |
Clean up Shell.fork_repository
Use project models instead of a list of parameters.
Diffstat (limited to 'lib/gitlab/shell.rb')
-rw-r--r-- | lib/gitlab/shell.rb | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/lib/gitlab/shell.rb b/lib/gitlab/shell.rb index a3e0451a8fd..6f896f03947 100644 --- a/lib/gitlab/shell.rb +++ b/lib/gitlab/shell.rb @@ -126,20 +126,13 @@ module Gitlab end # Fork repository to new path - # forked_from_storage - forked-from project's storage name - # forked_from_disk_path - project disk relative path - # forked_to_storage - forked-to project's storage name - # forked_to_disk_path - forked project disk relative path - # - # Ex. - # fork_repository("nfs-file06", "gitlab/gitlab-ci", "nfs-file07", "new-namespace/gitlab-ci") - def fork_repository( - forked_from_storage, forked_from_disk_path, forked_from_project_name, - forked_to_storage, forked_to_disk_path, forked_to_project_name) - forked_from_relative_path = "#{forked_from_disk_path}.git" - fork_args = [forked_to_storage, "#{forked_to_disk_path}.git", forked_to_project_name] - - GitalyGitlabProjects.new(forked_from_storage, forked_from_relative_path, forked_from_project_name).fork_repository(*fork_args) + # source_project - forked-from Project + # target_project - forked-to Project + def fork_repository(source_project, target_project) + forked_from_relative_path = "#{source_project.disk_path}.git" + fork_args = [target_project.repository_storage, "#{target_project.disk_path}.git", target_project.full_path] + + GitalyGitlabProjects.new(source_project.repository_storage, forked_from_relative_path, source_project.full_path).fork_repository(*fork_args) end # Removes a repository from file system, using rm_diretory which is an alias |