summaryrefslogtreecommitdiff
path: root/app/services/merge_requests
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2018-09-19 12:26:28 +0000
committerNick Thomas <nick@gitlab.com>2018-09-19 12:26:28 +0000
commit5dce096cf8b645d430bfdce8add8a577b595dc23 (patch)
tree69ac2bf5373bffd1e869d9b1c9f54e2c912cb767 /app/services/merge_requests
parent3172de0df3801125c23d1811a53d1467dec45645 (diff)
downloadgitlab-ce-5dce096cf8b645d430bfdce8add8a577b595dc23.tar.gz
Use standalone diff stats RPC on every comparison view
Diffstat (limited to 'app/services/merge_requests')
-rw-r--r--app/services/merge_requests/reload_diffs_service.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/app/services/merge_requests/reload_diffs_service.rb b/app/services/merge_requests/reload_diffs_service.rb
index c350b14d12b..b4d48fe92ad 100644
--- a/app/services/merge_requests/reload_diffs_service.rb
+++ b/app/services/merge_requests/reload_diffs_service.rb
@@ -31,7 +31,7 @@ module MergeRequests
def clear_cache(new_diff)
# Executing the iteration we cache highlighted diffs for each diff file of
# MergeRequestDiff.
- new_diff.diffs_collection.write_cache
+ cacheable_collection(new_diff).write_cache
# Remove cache for all diffs on this MR. Do not use the association on the
# model, as that will interfere with other actions happening when
@@ -39,9 +39,15 @@ module MergeRequests
MergeRequestDiff.where(merge_request: merge_request).each do |merge_request_diff|
next if merge_request_diff == new_diff
- merge_request_diff.diffs_collection.clear_cache
+ cacheable_collection(merge_request_diff).clear_cache
end
end
# rubocop: enable CodeReuse/ActiveRecord
+
+ def cacheable_collection(diff)
+ # There are scenarios where we don't need to request Diff Stats.
+ # Mainly when clearing / writing diff caches.
+ diff.diffs(include_stats: false)
+ end
end
end