diff options
author | James Lopez <james@jameslopez.es> | 2017-12-22 17:21:13 +0100 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2018-01-02 10:42:18 +0100 |
commit | 02276f7a70466f08bef2c233b321bee00727b8c2 (patch) | |
tree | 995c8f463435d1519f5b2ba519be4d9a19c7cf3c | |
parent | ac35636f4ad92a2f3080af556ad8cfadf73ce977 (diff) | |
download | gitlab-ce-02276f7a70466f08bef2c233b321bee00727b8c2.tar.gz |
Fix import scheduled on bare repo import
-rw-r--r-- | app/services/projects/create_service.rb | 3 | ||||
-rw-r--r-- | lib/gitlab/bare_repository_import/importer.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/bare_repository_import/importer_spec.rb | 8 |
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) |