Merge pull request #2889 from kennytm/master
Show only ≤16 lines of codes in a discussion in a MR (issue #2860).
This commit is contained in:
commit
0cc95ef2f5
2 changed files with 26 additions and 2 deletions
|
@ -57,6 +57,31 @@ module CommitsHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def each_diff_line_near(diff, index, expected_line_code)
|
||||||
|
max_number_of_lines = 16
|
||||||
|
|
||||||
|
prev_match_line = nil
|
||||||
|
prev_lines = []
|
||||||
|
|
||||||
|
each_diff_line(diff, index) do |full_line, type, line_code, line_new, line_old|
|
||||||
|
line = [full_line, type, line_code, line_new, line_old]
|
||||||
|
if line_code != expected_line_code
|
||||||
|
if type == "match"
|
||||||
|
prev_lines.clear
|
||||||
|
prev_match_line = line
|
||||||
|
else
|
||||||
|
prev_lines.push(line)
|
||||||
|
prev_lines.shift if prev_lines.length >= max_number_of_lines
|
||||||
|
end
|
||||||
|
else
|
||||||
|
yield(prev_match_line) if !prev_match_line.nil?
|
||||||
|
prev_lines.each { |ln| yield(ln) }
|
||||||
|
yield(line)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def image_diff_class(diff)
|
def image_diff_class(diff)
|
||||||
if diff.deleted_file
|
if diff.deleted_file
|
||||||
"deleted"
|
"deleted"
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
%br/
|
%br/
|
||||||
.content
|
.content
|
||||||
%table
|
%table
|
||||||
- each_diff_line(diff, note.diff_file_index) do |line, type, line_code, line_new, line_old|
|
- each_diff_line_near(diff, note.diff_file_index, note.line_code) do |line, type, line_code, line_new, line_old|
|
||||||
%tr.line_holder{ id: line_code }
|
%tr.line_holder{ id: line_code }
|
||||||
- if type == "match"
|
- if type == "match"
|
||||||
%td.old_line= "..."
|
%td.old_line= "..."
|
||||||
|
@ -22,4 +22,3 @@
|
||||||
|
|
||||||
- if line_code == note.line_code
|
- if line_code == note.line_code
|
||||||
= render "notes/diff_notes_with_reply", notes: discussion_notes
|
= render "notes/diff_notes_with_reply", notes: discussion_notes
|
||||||
- break # cut off diff after notes
|
|
||||||
|
|
Loading…
Reference in a new issue