diff options
author | Tomasz Maczukin <tomasz@maczukin.pl> | 2015-11-19 23:40:29 +0100 |
---|---|---|
committer | Tomasz Maczukin <tomasz@maczukin.pl> | 2015-11-19 23:40:29 +0100 |
commit | 945e4293cb8f745b2e1a1aebdcf4df3eeba338cc (patch) | |
tree | 64d698bfdd2cc7d1a42970e3ab61d3a39c3ee3b8 | |
parent | 6f41e3d9caa28b2a654fb775202be632673f2299 (diff) | |
download | gitlab-ce-945e4293cb8f745b2e1a1aebdcf4df3eeba338cc.tar.gz |
Prevent unnecessary forks iteration at parent update
-rw-r--r-- | app/services/projects/update_service.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/app/services/projects/update_service.rb b/app/services/projects/update_service.rb index 67e3429c0bd..cd7a8b18218 100644 --- a/app/services/projects/update_service.rb +++ b/app/services/projects/update_service.rb @@ -13,7 +13,7 @@ module Projects end return false unless visibility_level_allowed?(new_visibility) - update_forks_visibility_level(new_visibility) + update_forks_visibility_level(new_visibility.to_i) end new_branch = params[:default_branch] @@ -44,11 +44,13 @@ module Projects end def update_forks_visibility_level(new_level) + return unless new_level < project.visibility_level + project.forks.each do |forked_project| fork_level = forked_project.visibility_level - if fork_level > new_level.to_i - forked_project.visibility_level = new_level.to_i + if fork_level > new_level + forked_project.visibility_level = new_level forked_project.save! end end |