Files
gitlabhq/app/contexts/projects/update_context.rb
T
Dmitriy Zaporozhets 28bb65f363 Update repository head successively during project update
It prevents situation when async worker slowly updates HEAD and we show
old branch as repository HEAD in project settings

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2013-12-16 19:34:56 +02:00

20 lines
685 B
Ruby

module Projects
class UpdateContext < BaseContext
def execute(role = :default)
params[:project].delete(:namespace_id)
# check that user is allowed to set specified visibility_level
unless can?(current_user, :change_visibility_level, project) && Gitlab::VisibilityLevel.allowed_for?(current_user, params[:project][:visibility_level])
params[:project].delete(:visibility_level)
end
new_branch = params[:project].delete(:default_branch)
if project.repository.exists? && new_branch != project.default_branch
project.change_head(new_branch)
end
project.update_attributes(params[:project], as: role)
end
end
end