diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-10-24 12:00:08 +0200 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-10-24 12:00:08 +0200 |
commit | 1a7ba2a5e8603222b51a9e9cf0ffcde68cf593d2 (patch) | |
tree | 590387da763f7e48b13f8b03762460d9ad06fbd9 | |
parent | 352ab2fac6226c7f534eda1b37d18ec1c0f84ac4 (diff) | |
parent | 8a3710f452dc2192c936b1b418d2e1a90f5ae65f (diff) | |
download | gitlab-ce-1a7ba2a5e8603222b51a9e9cf0ffcde68cf593d2.tar.gz |
Merge remote-tracking branch 'origin/sh-flush-cache-after-import'
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | app/models/repository.rb | 27 | ||||
-rw-r--r-- | spec/models/repository_spec.rb | 21 |
3 files changed, 21 insertions, 28 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 76aa5338e9b..909af5fc053 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Please view this file on the master branch, on stable branches it's out of date. ## 8.13.1 (unreleased) - Fix error in generating labels - Fix reply-by-email not working due to queue name mismatch + - Expire and build repository cache after project import ## 8.13.0 (2016-10-22) - Removes extra line for empty issue description. (!7045) diff --git a/app/models/repository.rb b/app/models/repository.rb index 1b7f20a2134..4ae9c20726f 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -419,6 +419,17 @@ class Repository @exists = nil end + # expire cache that doesn't depend on repository data (when expiring) + def expire_content_cache + expire_tags_cache + expire_tag_count_cache + expire_branches_cache + expire_branch_count_cache + expire_root_ref_cache + expire_emptiness_caches + expire_exists_cache + end + # Runs code after a repository has been created. def after_create expire_exists_cache @@ -434,14 +445,7 @@ class Repository expire_cache if exists? - # expire cache that don't depend on repository data (when expiring) - expire_tags_cache - expire_tag_count_cache - expire_branches_cache - expire_branch_count_cache - expire_root_ref_cache - expire_emptiness_caches - expire_exists_cache + expire_content_cache repository_event(:remove_repository) end @@ -473,14 +477,13 @@ class Repository end def before_import - expire_emptiness_caches - expire_exists_cache + expire_content_cache end # Runs code after a repository has been forked/imported. def after_import - expire_emptiness_caches - expire_exists_cache + expire_content_cache + build_cache end # Runs code after a new commit has been pushed. diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb index f977cf73673..187a1bf2d79 100644 --- a/spec/models/repository_spec.rb +++ b/spec/models/repository_spec.rb @@ -1146,28 +1146,17 @@ describe Repository, models: true do end describe '#before_import' do - it 'flushes the emptiness cachess' do - expect(repository).to receive(:expire_emptiness_caches) - - repository.before_import - end - - it 'flushes the exists cache' do - expect(repository).to receive(:expire_exists_cache) + it 'flushes the repository caches' do + expect(repository).to receive(:expire_content_cache) repository.before_import end end describe '#after_import' do - it 'flushes the emptiness cachess' do - expect(repository).to receive(:expire_emptiness_caches) - - repository.after_import - end - - it 'flushes the exists cache' do - expect(repository).to receive(:expire_exists_cache) + it 'flushes and builds the cache' do + expect(repository).to receive(:expire_content_cache) + expect(repository).to receive(:build_cache) repository.after_import end |