diff --git a/src/api/app/controllers/source_controller.rb b/src/api/app/controllers/source_controller.rb index 0a0d4edbb8a..cb8ba44b07e 100644 --- a/src/api/app/controllers/source_controller.rb +++ b/src/api/app/controllers/source_controller.rb @@ -641,6 +641,7 @@ def project_command_copy # create new project object based on oproject unless @project + # rubocop:disable Metrics/BlockLength Project.transaction do if oprj.is_a?(String) # remote project rdata = Xmlhash.parse(Backend::Api::Sources::Project.meta(oprj)) @@ -651,8 +652,17 @@ def project_command_copy oprj.flags.each do |f| @project.flags.create(status: f.status, flag: f.flag, architecture: f.architecture, repo: f.repo) unless f.flag == 'lock' end + oprj.linking_to.each do |lp| + @project.linking_to.create(linked_db_project_id: lp.linked_db_project_id, + linked_remote_project_name: lp.linked_remote_project_name, + vrevmode: lp.vrevmode, + position: lp.position) + end oprj.repositories.each do |repo| - r = @project.repositories.create(name: repo.name) + r = @project.repositories.create(name: repo.name, + block: repo.block, + linkedbuild: repo.linkedbuild, + rebuild: repo.rebuild) repo.repository_architectures.each do |ra| r.repository_architectures.create!(architecture: ra.architecture, position: ra.position) end @@ -665,6 +675,7 @@ def project_command_copy end @project.store end + # rubocop:enable Metrics/BlockLength end job_params = params.slice(