diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-12 03:12:11 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-11-12 03:12:11 +0000 |
commit | f78f3d867871ce9ad79e5fcb8e4e3e8ffda37200 (patch) | |
tree | 5970d9f84231a66d2bb040fa50ce820b0d5de520 /lib/gitlab/diff | |
parent | 5e13b3a9e58a7b78e93b4aa5a12cc19bd6bca674 (diff) | |
download | gitlab-ce-f78f3d867871ce9ad79e5fcb8e4e3e8ffda37200.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/diff')
-rw-r--r-- | lib/gitlab/diff/file.rb | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/gitlab/diff/file.rb b/lib/gitlab/diff/file.rb index bad792992fc..f96564f111f 100644 --- a/lib/gitlab/diff/file.rb +++ b/lib/gitlab/diff/file.rb @@ -456,19 +456,27 @@ module Gitlab from = old_blob_lazy&.data to = new_blob_lazy&.data - new_diff = IpynbDiff.diff(from, to, - diff_opts: { context: 5, include_diff_info: true }, - transform_options: { cell_decorator: :percent }, - raise_if_invalid_notebook: true) - - diff.diff = new_diff.scan(/.*\n/)[2..-1].join('') if new_diff + transformed_diff = IpynbDiff.diff(from, to, + diff_opts: { context: 5, include_diff_info: true }, + transform_options: { cell_decorator: :percent }, + raise_if_invalid_notebook: true) + new_diff = strip_diff_frontmatter(transformed_diff) + + if new_diff + diff.diff = new_diff + new_blob_lazy.transformed_for_diff = true if new_blob_lazy + old_blob_lazy.transformed_for_diff = true if old_blob_lazy + end Gitlab::AppLogger.info({ message: new_diff ? 'IPYNB_DIFF_GENERATED' : 'IPYNB_DIFF_NIL' }) - rescue IpynbDiff::InvalidNotebookError => e Gitlab::ErrorTracking.track_exception(e, issue_url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/344676') end + def strip_diff_frontmatter(diff_content) + diff_content.scan(/.*\n/)[2..-1]&.join('') if diff_content.present? + end + def alternate_viewer_class return unless viewer.instance_of?(DiffViewer::Renamed) |