summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorImre Farkas <ifarkas@gitlab.com>2018-06-22 14:59:36 +0200
committerImre Farkas <ifarkas@gitlab.com>2018-06-22 16:25:51 +0200
commit39805423121c59f9432272e22793c1f8d5aa6e01 (patch)
tree994b1ad556a51f6b794e1877e68fe84a6ebfd932
parent9c3214640cfb572af3cc419d159c11bcd5b5e624 (diff)
downloadgitlab-ce-44725-expire_correct_methods_after_change_head.tar.gz
Expire correct method caches after HEAD changed44725-expire_correct_methods_after_change_head
-rw-r--r--app/models/repository.rb2
-rw-r--r--changelogs/unreleased/44725-expire_correct_methods_after_change_head.yml5
-rw-r--r--spec/models/repository_spec.rb18
3 files changed, 16 insertions, 9 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 3089d0162ee..44a11cc7128 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -423,7 +423,7 @@ class Repository
# Runs code after the HEAD of a repository is changed.
def after_change_head
- expire_method_caches(METHOD_CACHES_FOR_FILE_TYPES.keys)
+ expire_method_caches(METHOD_CACHES_FOR_FILE_TYPES.values.flatten)
end
# Runs code after a repository has been forked/imported.
diff --git a/changelogs/unreleased/44725-expire_correct_methods_after_change_head.yml b/changelogs/unreleased/44725-expire_correct_methods_after_change_head.yml
new file mode 100644
index 00000000000..21a65f142c3
--- /dev/null
+++ b/changelogs/unreleased/44725-expire_correct_methods_after_change_head.yml
@@ -0,0 +1,5 @@
+---
+title: Expire correct method caches after HEAD changed
+merge_request:
+author:
+type: fixed
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index d817a8376f4..d3b25cd7a0d 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -1699,19 +1699,21 @@ describe Repository do
end
describe '#after_change_head' do
- it 'flushes the readme cache' do
+ it 'flushes the file related caches' do
expect(repository).to receive(:expire_method_caches).with([
- :readme,
+ :rendered_readme,
:changelog,
+ :license_blob,
+ :license_key,
:license,
- :contributing,
+ :contribution_guide,
:gitignore,
- :koding,
- :gitlab_ci,
+ :koding_yml,
+ :gitlab_ci_yml,
:avatar,
- :issue_template,
- :merge_request_template,
- :xcode_config
+ :issue_template_names,
+ :merge_request_template_names,
+ :xcode_project?
])
repository.after_change_head