diff options
author | Robert Speicher <rspeicher@gmail.com> | 2016-01-05 17:01:33 -0500 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-01-05 17:03:24 -0500 |
commit | d453b24aca178fe74dd673b94de50d1f14fb651a (patch) | |
tree | aba3fb64154071926aa1f1b98ea34d22886704a5 | |
parent | 67a927ff8b3510275fee4bfac438aef9803e67a6 (diff) | |
parent | 8e33ec1deea60a176cd43092c913200d28ea04fe (diff) | |
download | gitlab-ce-d453b24aca178fe74dd673b94de50d1f14fb651a.tar.gz |
Merge branch 'validate-readme-format' into 'master'
Validate README format
Take the first previewable README file as project's README, otherwise if
none file is available, or we can't preview any of them, we assume that
project doesn't have a README file.
Fixes #3978
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/models/tree.rb | 14 |
2 files changed, 7 insertions, 8 deletions
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,18 +17,16 @@ class Tree def readme return @readme if defined?(@readme) - available_readmes = blobs.select(&:readme?) + # 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 - if available_readmes.count == 0 + if readme_tree.nil? return @readme = nil 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 - readme_path = path == '/' ? readme_tree.name : File.join(path, readme_tree.name) git_repo = repository.raw_repository |