summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-01-03 16:51:03 +0000
committerDouwe Maan <douwe@gitlab.com>2018-01-03 16:51:03 +0000
commit9a2186d31b37efb9c4ae5119f7d3e4ea7e373dac (patch)
treeb56303039b9bd9cc05b40a4f79b3bfeb9cddd50f /app
parente5a9b9a14d32d890dea20403c977dfd569eb3e17 (diff)
parent86257cf7138a6d28c055071219142722787b6546 (diff)
downloadgitlab-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.rb6
-rw-r--r--app/services/projects/create_service.rb16
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