summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2017-12-22 17:21:13 +0100
committerJames Lopez <james@jameslopez.es>2018-01-02 10:42:18 +0100
commit02276f7a70466f08bef2c233b321bee00727b8c2 (patch)
tree995c8f463435d1519f5b2ba519be4d9a19c7cf3c
parentac35636f4ad92a2f3080af556ad8cfadf73ce977 (diff)
downloadgitlab-ce-02276f7a70466f08bef2c233b321bee00727b8c2.tar.gz
Fix import scheduled on bare repo import
-rw-r--r--app/services/projects/create_service.rb3
-rw-r--r--lib/gitlab/bare_repository_import/importer.rb2
-rw-r--r--spec/lib/gitlab/bare_repository_import/importer_spec.rb8
3 files changed, 12 insertions, 1 deletions
diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb
index 71533da31b1..b32bbd56529 100644
--- a/app/services/projects/create_service.rb
+++ b/app/services/projects/create_service.rb
@@ -12,6 +12,7 @@ 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)
@@ -57,7 +58,7 @@ module Projects
after_create_actions if @project.persisted?
if @project.errors.empty?
- @project.import_schedule if @project.import?
+ @project.import_schedule if @project.import? && !@skip_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 298409d8b5a..b0b349088d9 100644
--- a/lib/gitlab/bare_repository_import/importer.rb
+++ b/lib/gitlab/bare_repository_import/importer.rb
@@ -55,6 +55,8 @@ module Gitlab
name: project_name,
path: project_name,
skip_disk_validation: true,
+ skip_wiki: bare_repo.wiki_exists?,
+ skip_import: true,
import_type: 'gitlab_project',
namespace_id: group&.id).execute
diff --git a/spec/lib/gitlab/bare_repository_import/importer_spec.rb b/spec/lib/gitlab/bare_repository_import/importer_spec.rb
index 8a83e446935..920819cf382 100644
--- a/spec/lib/gitlab/bare_repository_import/importer_spec.rb
+++ b/spec/lib/gitlab/bare_repository_import/importer_spec.rb
@@ -68,6 +68,12 @@ describe Gitlab::BareRepositoryImport::Importer, repository: true do
expect(Project.find_by_full_path(project_path)).not_to be_nil
end
+ it 'does not schedule an import' do
+ expect_any_instance_of(Project).not_to receive(:import_schedule)
+
+ importer.create_project_if_needed
+ end
+
it 'creates the Git repo in disk' do
FileUtils.mkdir_p(File.join(base_dir, "#{project_path}.git"))
@@ -161,6 +167,8 @@ describe Gitlab::BareRepositoryImport::Importer, repository: true do
FileUtils.mkdir_p(File.join(base_dir, "#{project_path}.git"))
FileUtils.mkdir_p(File.join(base_dir, "#{project_path}.wiki.git"))
+ expect(Projects::CreateService).to receive(:new).with(admin, hash_including(skip_import: true)).and_call_original
+
importer.create_project_if_needed
project = Project.find_by_full_path(project_path)