diff --git a/app/services/create_diff_record_service.rb b/app/services/create_diff_record_service.rb index 1cea89f03..339f589d7 100644 --- a/app/services/create_diff_record_service.rb +++ b/app/services/create_diff_record_service.rb @@ -26,23 +26,25 @@ class CreateDiffRecordService < ApplicationService fragment_size = 1 Rails.logger.info("diff_line_content:#{Diffy::Diff.new(before, after)}") Diffy::Diff.new(before, after).each do |line| - unless line =~ /^[\+-]/ - if arr.empty? && index < fragment_size - content += line - index += 1 - else - index = 0 - arr << line - arr.shift if arr.size > fragment_size + unless line.include?("\\ 文件尾没有 newline 字符") + unless line =~ /^[\+-]/ + if arr.empty? && index < fragment_size + content += line + index += 1 + else + index = 0 + arr << line + arr.shift if arr.size > fragment_size + end + next end - next - end - content += arr.join('') if arr.present? - Rails.logger.info("diff_line_arr:#{arr.join('')}") - content += line - arr.clear - Rails.logger.info("diff_line:#{line}") + content += arr.join('') if arr.present? + Rails.logger.info("diff_line_arr:#{arr.join('')}") + content += line + arr.clear + Rails.logger.info("diff_line:#{line}") + end end content end