diff options
Diffstat (limited to 'app/services/projects/update_service.rb')
-rw-r--r-- | app/services/projects/update_service.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/app/services/projects/update_service.rb b/app/services/projects/update_service.rb index e10dede632a..58c9bce963b 100644 --- a/app/services/projects/update_service.rb +++ b/app/services/projects/update_service.rb @@ -13,8 +13,12 @@ module Projects ensure_wiki_exists if enabling_wiki? - if changing_storage_size? - project.change_repository_storage(params.delete(:repository_storage)) + if changing_repository_storage? + storage_move = project.repository_storage_moves.build( + source_storage_name: project.repository_storage, + destination_storage_name: params.delete(:repository_storage) + ) + storage_move.schedule end yield if block_given? @@ -132,7 +136,7 @@ module Projects def ensure_wiki_exists ProjectWiki.new(project, project.owner).wiki - rescue ProjectWiki::CouldNotCreateWikiError + rescue Wiki::CouldNotCreateWikiError log_error("Could not create wiki for #{project.full_name}") Gitlab::Metrics.counter(:wiki_can_not_be_created_total, 'Counts the times we failed to create a wiki').increment end @@ -145,10 +149,11 @@ module Projects project.previous_changes.include?(:pages_https_only) end - def changing_storage_size? + def changing_repository_storage? new_repository_storage = params[:repository_storage] new_repository_storage && project.repository.exists? && + project.repository_storage != new_repository_storage && can?(current_user, :change_repository_storage, project) end end |