From f2d4b24a9404a1439d4f4c983fdf9ca000ac6e21 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Wed, 3 Jan 2018 09:10:43 +0100 Subject: [PATCH] refactor code to use new import type --- app/models/project.rb | 4 ++++ app/services/projects/create_service.rb | 7 +++---- lib/gitlab/bare_repository_import/importer.rb | 3 +-- spec/lib/gitlab/bare_repository_import/importer_spec.rb | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/models/project.rb b/app/models/project.rb index 6678733e43e..e37eae9f176 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -679,6 +679,10 @@ class Project < ActiveRecord::Base Gitlab::UrlSanitizer.new(import_url).masked_url end + def bare_repository_import? + import_type == 'bare_repository' + end + def gitlab_project_import? import_type == 'gitlab_project' end diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb index 4ed65982326..52b90cdf135 100644 --- a/app/services/projects/create_service.rb +++ b/app/services/projects/create_service.rb @@ -12,7 +12,6 @@ module Projects forked_from_project_id = params.delete(:forked_from_project_id) import_data = params.delete(:import_data) @skip_wiki = params.delete(:skip_wiki) - @skip_import = params.delete(:skip_import) @project = Project.new(params) @@ -88,7 +87,7 @@ module Projects def after_create_actions log_info("#{@project.owner.name} created a new project \"#{@project.name_with_namespace}\"") - if !@project.gitlab_project_import? || @skip_import + unless @project.gitlab_project_import? @project.create_wiki unless skip_wiki? create_services_from_active_templates(@project) @@ -121,7 +120,7 @@ module Projects Project.transaction do @project.create_or_update_import_data(data: import_data[:data], credentials: import_data[:credentials]) if import_data - if @project.save && !@project.import? + if @project.save && !@project.import? && !@project.bare_repository_import? raise 'Failed to create repository' unless @project.create_repository end end @@ -166,7 +165,7 @@ module Projects def import_schedule if @project.errors.empty? - @project.import_schedule if @project.import? && !@skip_import + @project.import_schedule if @project.import? else fail(error: @project.errors.full_messages.join(', ')) end diff --git a/lib/gitlab/bare_repository_import/importer.rb b/lib/gitlab/bare_repository_import/importer.rb index b0b349088d9..64e41d42709 100644 --- a/lib/gitlab/bare_repository_import/importer.rb +++ b/lib/gitlab/bare_repository_import/importer.rb @@ -56,8 +56,7 @@ module Gitlab path: project_name, skip_disk_validation: true, skip_wiki: bare_repo.wiki_exists?, - skip_import: true, - import_type: 'gitlab_project', + import_type: 'bare_repository', namespace_id: group&.id).execute if project.persisted? && mv_repo(project) diff --git a/spec/lib/gitlab/bare_repository_import/importer_spec.rb b/spec/lib/gitlab/bare_repository_import/importer_spec.rb index 9fadfadeddd..82ac3c424d4 100644 --- a/spec/lib/gitlab/bare_repository_import/importer_spec.rb +++ b/spec/lib/gitlab/bare_repository_import/importer_spec.rb @@ -169,7 +169,7 @@ describe Gitlab::BareRepositoryImport::Importer, repository: true do FileUtils.mkdir_p(File.join(base_dir, "#{project_path}.wiki.git")) expect(Projects::CreateService).to receive(:new).with(admin, hash_including(skip_wiki: true, - skip_import: true)).and_call_original + import_type: 'bare_repository')).and_call_original importer.create_project_if_needed