summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2016-04-07 00:23:02 -0700
committerYorick Peterse <yorickpeterse@gmail.com>2016-04-08 12:04:12 +0200
commit6842dc6662b37a4748021339d3b7fb4a1e5a107e (patch)
tree067e7cb0a5b2d2db6593fa410d0cbb9fd4a4edb2
parente834fbb4eb61db98c68cfc09d895b969b61a4c05 (diff)
downloadgitlab-ce-6842dc6662b37a4748021339d3b7fb4a1e5a107e.tar.gz
Expire caches after project creation to ensure a consistent state
Closes #14961
-rw-r--r--app/models/repository.rb2
-rw-r--r--spec/models/repository_spec.rb13
2 files changed, 15 insertions, 0 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index a8e826c9cbf..8dead3a5884 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -331,6 +331,8 @@ class Repository
# Runs code after a repository has been created.
def after_create
expire_exists_cache
+ expire_root_ref_cache
+ expire_emptiness_caches
end
# Runs code just before a repository is deleted.
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index f517f325c03..4e49c413f23 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -670,6 +670,19 @@ describe Repository, models: true do
repository.after_create
end
+
+ it 'flushes the root ref cache' do
+ expect(repository).to receive(:expire_root_ref_cache)
+
+ repository.after_create
+ end
+
+ it 'flushes the emptiness caches' do
+ expect(repository).to receive(:expire_emptiness_caches)
+
+ repository.after_create
+ end
+
end
describe "#main_language" do