diff options
author | Stan Hu <stanhu@gmail.com> | 2019-03-22 18:38:08 +0000 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-03-22 18:38:08 +0000 |
commit | 7ffc79829194d3be18cf66017528a90b41586054 (patch) | |
tree | e09c42cfaf7fd166c8ddf28fefc6140e0c52f815 | |
parent | 85a1acbe50a3db74d0298fc622170f0fd000988d (diff) | |
parent | e64589a370c9536f8701c4b7124242b2d1016ec1 (diff) | |
download | gitlab-ce-7ffc79829194d3be18cf66017528a90b41586054.tar.gz |
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
-rw-r--r-- | app/models/project.rb | 1 | ||||
-rw-r--r-- | app/workers/project_cache_worker.rb | 1 | ||||
-rw-r--r-- | changelogs/unreleased/refresh-commit-count-after-head-change.yml | 5 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 6 |
4 files changed, 13 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 14fc158ede1..611c64c8f49 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1384,6 +1384,7 @@ class Project < ActiveRecord::Base repository.raw_repository.write_ref('HEAD', "refs/heads/#{branch}") repository.copy_gitattributes(branch) repository.after_change_head + ProjectCacheWorker.perform_async(self.id, [], [:commit_count]) reload_default_branch else errors.add(:base, "Could not change HEAD: branch '#{branch}' does not exist") diff --git a/app/workers/project_cache_worker.rb b/app/workers/project_cache_worker.rb index d27b5e62574..b31099bc670 100644 --- a/app/workers/project_cache_worker.rb +++ b/app/workers/project_cache_worker.rb @@ -27,6 +27,7 @@ class ProjectCacheWorker # rubocop: enable CodeReuse/ActiveRecord def update_statistics(project, statistics = []) + return if Gitlab::Database.read_only? return unless try_obtain_lease_for(project.id, :update_statistics) Rails.logger.info("Updating statistics for project #{project.id}") diff --git a/changelogs/unreleased/refresh-commit-count-after-head-change.yml b/changelogs/unreleased/refresh-commit-count-after-head-change.yml new file mode 100644 index 00000000000..27e278958b8 --- /dev/null +++ b/changelogs/unreleased/refresh-commit-count-after-head-change.yml @@ -0,0 +1,5 @@ +--- +title: Refresh commit count after repository head changes +merge_request: 26473 +author: +type: fixed diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 328133e5c3c..1ea54eeb4f7 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -2379,6 +2379,12 @@ describe Project do project.change_head(project.default_branch) end + it 'updates commit count' do + expect(ProjectCacheWorker).to receive(:perform_async).with(project.id, [], [:commit_count]) + + project.change_head(project.default_branch) + end + it 'copies the gitattributes' do expect(project.repository).to receive(:copy_gitattributes).with(project.default_branch) project.change_head(project.default_branch) |