diff options
author | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-09-19 12:26:28 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2018-09-19 12:26:28 +0000 |
commit | 5dce096cf8b645d430bfdce8add8a577b595dc23 (patch) | |
tree | 69ac2bf5373bffd1e869d9b1c9f54e2c912cb767 /app/services/merge_requests | |
parent | 3172de0df3801125c23d1811a53d1467dec45645 (diff) | |
download | gitlab-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.rb | 10 |
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 |