Commit 63440d06 authored by Stan Hu's avatar Stan Hu Committed by GitLab Release Tools Bot

Merge branch 'refresh-commit-count-after-head-change' into 'master'

Refresh commit count after repository head changes

Closes #59346

See merge request gitlab-org/gitlab-ce!26473

(cherry picked from commit 7ffc7982)

e64589a3 Refresh commit count after repository head changes
parent f90fa655
...@@ -1378,6 +1378,7 @@ class Project < ActiveRecord::Base ...@@ -1378,6 +1378,7 @@ class Project < ActiveRecord::Base
repository.raw_repository.write_ref('HEAD', "refs/heads/#{branch}") repository.raw_repository.write_ref('HEAD', "refs/heads/#{branch}")
repository.copy_gitattributes(branch) repository.copy_gitattributes(branch)
repository.after_change_head repository.after_change_head
ProjectCacheWorker.perform_async(, [], [:commit_count])
reload_default_branch reload_default_branch
else else
errors.add(:base, "Could not change HEAD: branch '#{branch}' does not exist") errors.add(:base, "Could not change HEAD: branch '#{branch}' does not exist")
...@@ -27,6 +27,7 @@ class ProjectCacheWorker ...@@ -27,6 +27,7 @@ class ProjectCacheWorker
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
def update_statistics(project, statistics = []) def update_statistics(project, statistics = [])
return if Gitlab::Database.read_only?
return unless try_obtain_lease_for(, :update_statistics) return unless try_obtain_lease_for(, :update_statistics)"Updating statistics for project #{}")"Updating statistics for project #{}")
title: Refresh commit count after repository head changes
merge_request: 26473
type: fixed
...@@ -2388,6 +2388,12 @@ describe Project do ...@@ -2388,6 +2388,12 @@ describe Project do
project.change_head(project.default_branch) project.change_head(project.default_branch)
end end
it 'updates commit count' do
expect(ProjectCacheWorker).to receive(:perform_async).with(, [], [:commit_count])
it 'copies the gitattributes' do it 'copies the gitattributes' do
expect(project.repository).to receive(:copy_gitattributes).with(project.default_branch) expect(project.repository).to receive(:copy_gitattributes).with(project.default_branch)
project.change_head(project.default_branch) project.change_head(project.default_branch)
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment