diff options
-rw-r--r-- | app/models/project.rb | 1 | ||||
-rw-r--r-- | app/workers/repository_import_worker.rb | 1 | ||||
-rw-r--r-- | spec/workers/repository_import_worker_spec.rb | 13 |
3 files changed, 14 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 8a5895cea05..d0d0fd6e093 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -569,6 +569,7 @@ class Project < ActiveRecord::Base forked_from_project.repository_storage_path, forked_from_project.disk_path) elsif gitlab_project_import? + # Do not retry on Import/Export until https://gitlab.com/gitlab-org/gitlab-ce/issues/26189 is solved. RepositoryImportWorker.set(retry: false).perform_async(self.id) else RepositoryImportWorker.perform_async(self.id) diff --git a/app/workers/repository_import_worker.rb b/app/workers/repository_import_worker.rb index 1a8be9d9a93..d79b5ee5346 100644 --- a/app/workers/repository_import_worker.rb +++ b/app/workers/repository_import_worker.rb @@ -21,7 +21,6 @@ class RepositoryImportWorker return if service.async? if result[:status] == :error - fail_import(project, result[:message]) if project.gitlab_project_import? raise result[:message] diff --git a/spec/workers/repository_import_worker_spec.rb b/spec/workers/repository_import_worker_spec.rb index 7274a9f00f9..b8bdc049482 100644 --- a/spec/workers/repository_import_worker_spec.rb +++ b/spec/workers/repository_import_worker_spec.rb @@ -52,6 +52,19 @@ describe RepositoryImportWorker do end.to raise_error(StandardError, error) expect(project.reload.import_jid).not_to be_nil end + + it 'updates the error on Import/Export' do + error = %q{remote: Not Found fatal: repository 'https://user:pass@test.com/root/repoC.git/' not found } + + project.update_attributes(import_jid: '123', import_type: 'gitlab_project') + expect_any_instance_of(Projects::ImportService).to receive(:execute).and_return({ status: :error, message: error }) + + expect do + subject.perform(project.id) + end.to raise_error(StandardError, error) + + expect(project.reload.import_error).not_to be_nil + end end context 'when using an asynchronous importer' do |