Commit 28bb65f3 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

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: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 99490159
...@@ -10,13 +10,7 @@ module Projects ...@@ -10,13 +10,7 @@ module Projects
new_branch = params[:project].delete(:default_branch) new_branch = params[:project].delete(:default_branch)
if project.repository.exists? && new_branch != project.default_branch if project.repository.exists? && new_branch != project.default_branch
GitlabShellWorker.perform_async( project.change_head(new_branch)
:update_repository_head,
project.path_with_namespace,
new_branch
)
project.reload_default_branch
end end
project.update_attributes(params[:project], as: role) project.update_attributes(params[:project], as: role)
......
...@@ -472,4 +472,9 @@ class Project < ActiveRecord::Base ...@@ -472,4 +472,9 @@ class Project < ActiveRecord::Base
def visibility_level_field def visibility_level_field
visibility_level visibility_level
end end
def change_head(branch)
gitlab_shell.update_repository_head(self.path_with_namespace, branch)
reload_default_branch
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment