_text_file.html.haml 1.5 KB
Newer Older
1 2 3
%table
  - line_old = 0
  - line_new = 0
S
Saito 已提交
4
  - diff_str = diff.diff
5
  - lines_arr = diff_str.lines.to_a
6 7 8 9 10
  - lines_arr.each do |line|
    - next if line.match(/^--- \/dev\/null/)
    - next if line.match(/^--- a/)
    - next if line.match(/^\+\+\+ b/)
    - if line.match(/^@@ -/)
11 12 13 14 15 16
      - unless line_old.zero? && line_new.zero?
        %tr.line_holder
          %td.old_line= "..."
          %td.new_line= "..."
          %td.line_content  

17 18 19
      - line_old = line.match(/\-[0-9]*/)[0].to_i.abs rescue 0
      - line_new = line.match(/\+[0-9]*/)[0].to_i.abs rescue 0
      - next
G
gitlabhq 已提交
20

21 22 23 24 25 26
    - full_line = html_escape(line.gsub(/\n/, ''))
    %tr.line_holder
      %td.old_line
        = link_to raw(diff_line_class(line) == "new" ? " " : line_old), "#OLD#{index}-#{line_old}", :id => "OLD#{index}-#{line_old}"
      %td.new_line
        = link_to raw(diff_line_class(line) == "old" ? " " : line_new) , "#NEW#{index}-#{line_new}", :id => "NEW#{index}-#{line_new}"
27
      %td.line_content{:class => "#{diff_line_class(full_line)} #{build_line_code(line, index, line_new, line_old)}", "line_code" => build_line_code(line, index, line_new, line_old)}= raw "#{full_line}  "
D
Dmitriy Zaporozhets 已提交
28 29
    - comments = @line_notes.select { |n| n.for_line?(index, line_old, line_new) }.sort_by(&:created_at).reverse
    - unless comments.empty?
30 31
      - comments.each do |note|
        = render "notes/per_line_show", :note => note
32 33 34 35 36 37 38
    - if line[0] == "+"
      - line_new += 1
    - elsif line[0] == "-"
      - line_old += 1
    - else
      - line_new += 1
      - line_old += 1