refactor code to use new import type
This commit is contained in:
parent
11d0083e95
commit
f2d4b24a94
|
|
@ -679,6 +679,10 @@ class Project < ActiveRecord::Base
|
||||||
Gitlab::UrlSanitizer.new(import_url).masked_url
|
Gitlab::UrlSanitizer.new(import_url).masked_url
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def bare_repository_import?
|
||||||
|
import_type == 'bare_repository'
|
||||||
|
end
|
||||||
|
|
||||||
def gitlab_project_import?
|
def gitlab_project_import?
|
||||||
import_type == 'gitlab_project'
|
import_type == 'gitlab_project'
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ module Projects
|
||||||
forked_from_project_id = params.delete(:forked_from_project_id)
|
forked_from_project_id = params.delete(:forked_from_project_id)
|
||||||
import_data = params.delete(:import_data)
|
import_data = params.delete(:import_data)
|
||||||
@skip_wiki = params.delete(:skip_wiki)
|
@skip_wiki = params.delete(:skip_wiki)
|
||||||
@skip_import = params.delete(:skip_import)
|
|
||||||
|
|
||||||
@project = Project.new(params)
|
@project = Project.new(params)
|
||||||
|
|
||||||
|
|
@ -88,7 +87,7 @@ module Projects
|
||||||
def after_create_actions
|
def after_create_actions
|
||||||
log_info("#{@project.owner.name} created a new project \"#{@project.name_with_namespace}\"")
|
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?
|
@project.create_wiki unless skip_wiki?
|
||||||
create_services_from_active_templates(@project)
|
create_services_from_active_templates(@project)
|
||||||
|
|
||||||
|
|
@ -121,7 +120,7 @@ module Projects
|
||||||
Project.transaction do
|
Project.transaction do
|
||||||
@project.create_or_update_import_data(data: import_data[:data], credentials: import_data[:credentials]) if import_data
|
@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
|
raise 'Failed to create repository' unless @project.create_repository
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -166,7 +165,7 @@ module Projects
|
||||||
|
|
||||||
def import_schedule
|
def import_schedule
|
||||||
if @project.errors.empty?
|
if @project.errors.empty?
|
||||||
@project.import_schedule if @project.import? && !@skip_import
|
@project.import_schedule if @project.import?
|
||||||
else
|
else
|
||||||
fail(error: @project.errors.full_messages.join(', '))
|
fail(error: @project.errors.full_messages.join(', '))
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -56,8 +56,7 @@ module Gitlab
|
||||||
path: project_name,
|
path: project_name,
|
||||||
skip_disk_validation: true,
|
skip_disk_validation: true,
|
||||||
skip_wiki: bare_repo.wiki_exists?,
|
skip_wiki: bare_repo.wiki_exists?,
|
||||||
skip_import: true,
|
import_type: 'bare_repository',
|
||||||
import_type: 'gitlab_project',
|
|
||||||
namespace_id: group&.id).execute
|
namespace_id: group&.id).execute
|
||||||
|
|
||||||
if project.persisted? && mv_repo(project)
|
if project.persisted? && mv_repo(project)
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,7 @@ describe Gitlab::BareRepositoryImport::Importer, repository: true do
|
||||||
FileUtils.mkdir_p(File.join(base_dir, "#{project_path}.wiki.git"))
|
FileUtils.mkdir_p(File.join(base_dir, "#{project_path}.wiki.git"))
|
||||||
|
|
||||||
expect(Projects::CreateService).to receive(:new).with(admin, hash_including(skip_wiki: true,
|
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
|
importer.create_project_if_needed
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue