Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/project.rb4
-rw-r--r--app/services/projects/create_service.rb7
-rw-r--r--lib/gitlab/bare_repository_import/importer.rb3
-rw-r--r--spec/lib/gitlab/bare_repository_import/importer_spec.rb2
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