diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-06-08 16:14:56 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-06-08 16:14:56 +0000 |
commit | e9002222a0fc65e4e3328c7c536e43516986eb40 (patch) | |
tree | 8f36da7826e9d4f91ba726cdd96ce02ef8367347 /lib/gitlab/diff | |
parent | 9ea883fb5d02608010db858237cbd4926ae99650 (diff) | |
parent | ffbbd4112eb5a0a927925e70644128bf25145414 (diff) | |
download | gitlab-ce-e9002222a0fc65e4e3328c7c536e43516986eb40.tar.gz |
Merge branch 'dm-diff-file-diffable' into 'master'
Move diffable? method from Repository to Diff::File
See merge request !11980
Diffstat (limited to 'lib/gitlab/diff')
-rw-r--r-- | lib/gitlab/diff/file.rb | 12 | ||||
-rw-r--r-- | lib/gitlab/diff/file_collection/merge_request_diff.rb | 5 |
2 files changed, 13 insertions, 4 deletions
diff --git a/lib/gitlab/diff/file.rb b/lib/gitlab/diff/file.rb index 374c5117517..4212a0dbe2e 100644 --- a/lib/gitlab/diff/file.rb +++ b/lib/gitlab/diff/file.rb @@ -165,6 +165,18 @@ module Gitlab def file_identifier "#{file_path}-#{new_file?}-#{deleted_file?}-#{renamed_file?}" end + + def diffable? + repository.attributes(file_path).fetch('diff') { true } + end + + def binary? + old_blob&.binary? || new_blob&.binary? + end + + def text? + !binary? + end end end end diff --git a/lib/gitlab/diff/file_collection/merge_request_diff.rb b/lib/gitlab/diff/file_collection/merge_request_diff.rb index 9a58b500a2c..fcda1fe2233 100644 --- a/lib/gitlab/diff/file_collection/merge_request_diff.rb +++ b/lib/gitlab/diff/file_collection/merge_request_diff.rb @@ -66,10 +66,7 @@ module Gitlab end def cacheable?(diff_file) - @merge_request_diff.present? && - diff_file.blob && - diff_file.blob.text? && - @project.repository.diffable?(diff_file.blob) + @merge_request_diff.present? && diff_file.text? && diff_file.diffable? end def cache_key |