summaryrefslogtreecommitdiff
path: root/app/services/projects/import_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/projects/import_service.rb')
-rw-r--r--app/services/projects/import_service.rb27
1 files changed, 21 insertions, 6 deletions
diff --git a/app/services/projects/import_service.rb b/app/services/projects/import_service.rb
index 8cac0b01881..287c0a4257f 100644
--- a/app/services/projects/import_service.rb
+++ b/app/services/projects/import_service.rb
@@ -5,13 +5,13 @@ module Projects
class Error < StandardError; end
ALLOWED_TYPES = [
- 'gogs',
+ 'github',
'bitbucket',
- 'fogbugz',
'gitlab',
- 'github',
'google_code',
- 'gitlab_project'
+ 'fogbugz',
+ 'gitlab_project',
+ 'gitea'
]
def execute
@@ -71,8 +71,23 @@ module Projects
def importer
return Gitlab::ImportExport::Importer.new(project) if @project.gitlab_project_import?
- class_name = "Gitlab::#{project.import_type.camelize}Import::Importer"
- class_name.constantize.new(project)
+ class_name =
+ case project.import_type
+ when 'github', 'gitea'
+ Gitlab::GithubImport::Importer
+ when 'bitbucket'
+ Gitlab::BitbucketImport::Importer
+ when 'gitlab'
+ Gitlab::GitlabImport::Importer
+ when 'google_code'
+ Gitlab::GoogleCodeImport::Importer
+ when 'fogbugz'
+ Gitlab::FogbugzImport::Importer
+ else
+ raise 'Unknown importer type!'
+ end
+
+ class_name.new(project)
end
def unknown_url?