Commit 28bb65f3637ae16c98f374248e3ffa5f26983443

Authored by Dmitriy Zaporozhets
1 parent 99490159

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>
app/contexts/projects/update_context.rb
... ... @@ -10,13 +10,7 @@ module Projects
10 10 new_branch = params[:project].delete(:default_branch)
11 11  
12 12 if project.repository.exists? && new_branch != project.default_branch
13   - GitlabShellWorker.perform_async(
14   - :update_repository_head,
15   - project.path_with_namespace,
16   - new_branch
17   - )
18   -
19   - project.reload_default_branch
  13 + project.change_head(new_branch)
20 14 end
21 15  
22 16 project.update_attributes(params[:project], as: role)
... ...
app/models/project.rb
... ... @@ -472,4 +472,9 @@ class Project &lt; ActiveRecord::Base
472 472 def visibility_level_field
473 473 visibility_level
474 474 end
  475 +
  476 + def change_head(branch)
  477 + gitlab_shell.update_repository_head(self.path_with_namespace, branch)
  478 + reload_default_branch
  479 + end
475 480 end
... ...