This instance will be upgraded to Heptapod 0.31.0 (final) on 2022-05-24 at 14:00 UTC+2 (a few minutes of down time)

Unverified Commit 28bb65f3 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

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 73c7715cd76c
...@@ -10,13 +10,7 @@ def execute(role = :default) ...@@ -10,13 +10,7 @@ def execute(role = :default)
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 @@ def reload_default_branch ...@@ -472,4 +472,9 @@ def reload_default_branch
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