Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2018-03-14 19:03:10 +0300
committerSean McGivern <sean@gitlab.com>2018-03-15 14:49:53 +0300
commit6cd7f679d065e08f58d6dc9e2debf4f1a9cbcbe1 (patch)
tree4604c6844e21e61417e2ba7b815f6ac46ad35937 /lib/gitlab/diff
parentfeb95ce3412ae3ab8b2c990b8ddf64d8d8945670 (diff)
Only cache highlight results for latest MR diffs
Previously, we kept them all in the cache. We don't need the highlight results for older diffs - if someone does view that (which is rare), we can do the highlighting on the fly.
Diffstat (limited to 'lib/gitlab/diff')
-rw-r--r--lib/gitlab/diff/file_collection/merge_request_diff.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/gitlab/diff/file_collection/merge_request_diff.rb b/lib/gitlab/diff/file_collection/merge_request_diff.rb
index ff68bc7303a..9c1f85c70d6 100644
--- a/lib/gitlab/diff/file_collection/merge_request_diff.rb
+++ b/lib/gitlab/diff/file_collection/merge_request_diff.rb
@@ -29,6 +29,14 @@ module Gitlab
@merge_request_diff.real_size
end
+ def clear_cache!
+ Rails.cache.delete(cache_key)
+ end
+
+ def cache_key
+ [@merge_request_diff, 'highlighted-diff-files', diff_options]
+ end
+
private
def highlight_diff_file_from_cache!(diff_file, cache_diff_lines)
@@ -70,10 +78,6 @@ module Gitlab
def cacheable?(diff_file)
@merge_request_diff.present? && diff_file.text? && diff_file.diffable?
end
-
- def cache_key
- [@merge_request_diff, 'highlighted-diff-files', diff_options]
- end
end
end
end