Merge branch '20034-safe-diffs' into 'master'
Cache diff syntax highlighted output
## What does this MR do?
Cache highlighted diffs for merge requests when they are requested for existing merge requests but after each change on the merge request diff recalculate again the cache.
I've introduced the concept of SafeDiffs which are the diffs that we're going to show on the UI and will be highlighted so maybe we can extend cache capabilities to more diffs.
The more problematic part is what and how we cache the highlighted lines, for the moment what I did was store in Redis as Gitlab::Diff::Line serialized as an array of json objects, similar of what we do for commits and diffs on merge request diffs.
The next step can be add a new field in the merge_request_diff object if we find it worth it. But let's first confirm this is the way to go
## What are the relevant issue numbers?
Closes #20034
## Screenshots (if relevant)
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- ~~[ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)~~
- ~~[ ] API support added~~
- Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !5401
Showing
app/models/compare.rb
0 → 100644
lib/gitlab/diff/file_collection/base.rb
0 → 100644
lib/gitlab/diff/file_collection/commit.rb
0 → 100644
lib/gitlab/diff/file_collection/compare.rb
0 → 100644
spec/models/compare_spec.rb
0 → 100644
Please
register
or
sign in
to comment