diff --git a/CHANGELOG b/CHANGELOG index ed45042eb13..191bb977feb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -19,6 +19,7 @@ v 8.4.0 (unreleased) - Show 'All' tab by default in the builds page - Fix API project lookups when querying with a namespace with dots (Stan Hu) - Update version check images to use SVG + - Validate README format before displaying v 8.3.3 (unreleased) - Fix project transfer e-mail sending incorrect paths in e-mail notification (Stan Hu) diff --git a/app/models/tree.rb b/app/models/tree.rb index 93b3246a668..e0e04d8859f 100644 --- a/app/models/tree.rb +++ b/app/models/tree.rb @@ -17,17 +17,15 @@ class Tree def readme return @readme if defined?(@readme) - available_readmes = blobs.select(&:readme?) - - if available_readmes.count == 0 - return @readme = nil + # Take the first previewable readme, or return nil if none is available or + # we can't preview any of them + readme_tree = blobs.find do |blob| + blob.readme? && (previewable?(blob.name) || plain?(blob.name)) end - # Take the first previewable readme, or the first available readme, if we - # can't preview any of them - readme_tree = available_readmes.find do |readme| - previewable?(readme.name) - end || available_readmes.first + if readme_tree.nil? + return @readme = nil + end readme_path = path == '/' ? readme_tree.name : File.join(path, readme_tree.name)