diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-01-03 16:51:03 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-01-03 16:51:03 +0000 |
commit | 9a2186d31b37efb9c4ae5119f7d3e4ea7e373dac (patch) | |
tree | b56303039b9bd9cc05b40a4f79b3bfeb9cddd50f /app | |
parent | e5a9b9a14d32d890dea20403c977dfd569eb3e17 (diff) | |
parent | 86257cf7138a6d28c055071219142722787b6546 (diff) | |
download | gitlab-ce-9a2186d31b37efb9c4ae5119f7d3e4ea7e373dac.tar.gz |
Merge branch '41424-gitlab-rake-gitlab-import-repos-schedules-an-import' into 'master'
Resolve "gitlab-rake gitlab:import:repos schedules an import"
Closes #41424
See merge request gitlab-org/gitlab-ce!16115
Diffstat (limited to 'app')
-rw-r--r-- | app/models/project.rb | 6 | ||||
-rw-r--r-- | app/services/projects/create_service.rb | 16 |
2 files changed, 16 insertions, 6 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 6678733e43e..6ebb083aeb4 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -639,7 +639,7 @@ class Project < ActiveRecord::Base end def import? - external_import? || forked? || gitlab_project_import? + external_import? || forked? || gitlab_project_import? || bare_repository_import? end def no_import? @@ -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 71533da31b1..dc7b1f1f5cc 100644 --- a/app/services/projects/create_service.rb +++ b/app/services/projects/create_service.rb @@ -56,11 +56,7 @@ module Projects after_create_actions if @project.persisted? - if @project.errors.empty? - @project.import_schedule if @project.import? - else - fail(error: @project.errors.full_messages.join(', ')) - end + import_schedule @project rescue ActiveRecord::RecordInvalid => e @@ -164,5 +160,15 @@ module Projects @project.path = @project.name.dup.parameterize end end + + private + + def import_schedule + if @project.errors.empty? + @project.import_schedule if @project.import? && !@project.bare_repository_import? + else + fail(error: @project.errors.full_messages.join(', ')) + end + end end end |