From e2e11670222cfc5654dbefe05b688ae62add0b9c Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 27 Nov 2013 10:49:59 +0200 Subject: [PATCH] Fix default branch being cached and show old one after change --- app/contexts/projects/update_context.rb | 4 +++- app/models/project.rb | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/contexts/projects/update_context.rb b/app/contexts/projects/update_context.rb index 9564dd9..8a7fcd1 100644 --- a/app/contexts/projects/update_context.rb +++ b/app/contexts/projects/update_context.rb @@ -5,12 +5,14 @@ module Projects params[:project].delete(:public) unless can?(current_user, :change_public_mode, project) new_branch = params[:project].delete(:default_branch) - if project.repository.exists? && new_branch != project.repository.root_ref + if project.repository.exists? && new_branch != project.default_branch GitlabShellWorker.perform_async( :update_repository_head, project.path_with_namespace, new_branch ) + + project.reload_default_branch end project.update_attributes(params[:project], as: role) diff --git a/app/models/project.rb b/app/models/project.rb index eab7c14..2406b3d 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -26,7 +26,7 @@ class Project < ActiveRecord::Base include Gitlab::ShellAdapter extend Enumerize - + ActsAsTaggableOn.strict_case_match = true attr_accessible :name, :path, :description, :issues_tracker, :label_list, @@ -451,4 +451,9 @@ class Project < ActiveRecord::Base def default_branch @default_branch ||= repository.root_ref if repository.exists? end + + def reload_default_branch + @default_branch = nil + default_branch + end end -- libgit2 0.21.2