Fix repository cache invalidation issue when project is recreated with an empty repo
To reproduce: 1. Create a project with some content 2. Rename the project 3. Create a new project with the same name. 4. Boom - 404. After step 2, the branch and tag counts were not being cleared. This would cause `repository.has_visible_content?` to erroneously return `true` for the newly-created project. Closes #13384
This commit is contained in:
parent
64d71b4dfc
commit
2ce7559d70
3 changed files with 5 additions and 0 deletions
|
@ -43,6 +43,7 @@ v 8.7.0 (unreleased)
|
|||
- Update number of Todos in the sidebar when it's marked as "Done". !3600
|
||||
- API: Expose 'updated_at' for issue, snippet, and merge request notes (Robert Schilling)
|
||||
- API: User can leave a project through the API when not master or owner. !3613
|
||||
- Fix repository cache invalidation issue when project is recreated with an empty repo (Stan Hu)
|
||||
|
||||
v 8.6.6
|
||||
- Fix error on language detection when repository has no HEAD (e.g., master branch). !3654 (Jeroen Bobbeldijk)
|
||||
|
|
|
@ -253,6 +253,8 @@ class Repository
|
|||
# This ensures this particular cache is flushed after the first commit to a
|
||||
# new repository.
|
||||
expire_emptiness_caches if empty?
|
||||
expire_branch_count_cache
|
||||
expire_tag_count_cache
|
||||
end
|
||||
|
||||
def expire_branch_cache(branch_name = nil)
|
||||
|
|
|
@ -393,6 +393,8 @@ describe Repository, models: true do
|
|||
describe '#expire_cache' do
|
||||
it 'expires all caches' do
|
||||
expect(repository).to receive(:expire_branch_cache)
|
||||
expect(repository).to receive(:expire_branch_count_cache)
|
||||
expect(repository).to receive(:expire_tag_count_cache)
|
||||
|
||||
repository.expire_cache
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue