From b0585544ea5e5bcb25afb734bb49e0ea87da0c78 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Sat, 20 Feb 2016 16:23:54 +0100 Subject: Flush emptiness caches whenever needed This ensures that the emptiness cache (used for Repository#empty? and Repository#has_visible_content?) is flushed after comitting changes (using the web editor, API or Git) for new repositories. Once a repository is no longer empty there's no need to explicitly flush the cache for Repository#empty?. The cache for Repository#has_visible_content? in turn is already flushed whenever needed. Fixes gitlab-org/gitlab-ce#13387 --- app/models/repository.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app/models/repository.rb') diff --git a/app/models/repository.rb b/app/models/repository.rb index be30a3b0906..e050bd45254 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -239,6 +239,10 @@ class Repository end expire_branch_cache(branch_name) + + # This ensures this particular cache is flushed after the first commit to a + # new repository. + expire_emptiness_caches if empty? end # Expires _all_ caches, including those that would normally only be expired -- cgit v1.2.1