summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2018-02-17 06:57:56 +0000
committerStan Hu <stanhu@gmail.com>2018-02-17 06:57:56 +0000
commit35ee6307399f1d92b90183a83cdf4b77a4d601f9 (patch)
tree4b9effc1b402e43e1f0f9dc8bdfd53cc4d10d0c7
parent6fdfc20dcd6a13e9a9e576ccf4727203cf333c12 (diff)
parent8b727fea81b19f12366894c4a4b981250c549833 (diff)
downloadgitlab-ce-35ee6307399f1d92b90183a83cdf4b77a4d601f9.tar.gz
Merge branch 'dm-dont-cache-nil-root-ref' into 'master'
Don't cache a nil repository root ref to prevent caching issues See merge request gitlab-org/gitlab-ce!17179
-rw-r--r--app/models/repository.rb8
-rw-r--r--changelogs/unreleased/dm-dont-cache-nil-root-ref.yml5
2 files changed, 7 insertions, 6 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 4f754b11da4..299a3f32a85 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -492,12 +492,8 @@ class Repository
end
def root_ref
- if raw_repository
- raw_repository.root_ref
- else
- # When the repo does not exist we raise this error so no data is cached.
- raise Gitlab::Git::Repository::NoRepository
- end
+ # When the repo does not exist, or there is no root ref, we raise this error so no data is cached.
+ raw_repository&.root_ref or raise Gitlab::Git::Repository::NoRepository # rubocop:disable Style/AndOr
end
cache_method :root_ref
diff --git a/changelogs/unreleased/dm-dont-cache-nil-root-ref.yml b/changelogs/unreleased/dm-dont-cache-nil-root-ref.yml
new file mode 100644
index 00000000000..4dab7d0ffca
--- /dev/null
+++ b/changelogs/unreleased/dm-dont-cache-nil-root-ref.yml
@@ -0,0 +1,5 @@
+---
+title: Don't cache a nil repository root ref to prevent caching issues
+merge_request:
+author:
+type: fixed