Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/commits/_diff.html.haml')
-rw-r--r--app/views/commits/_diff.html.haml58
1 files changed, 58 insertions, 0 deletions
diff --git a/app/views/commits/_diff.html.haml b/app/views/commits/_diff.html.haml
new file mode 100644
index 00000000000..dff99bf12f0
--- /dev/null
+++ b/app/views/commits/_diff.html.haml
@@ -0,0 +1,58 @@
+- require "utils"
+.file_stats
+ - @commit.diffs.each do |diff|
+ - if diff.deleted_file
+ %span.removed_file
+ %a{:href => "##{diff.a_path}"}
+ = diff.a_path
+ = image_tag "blueprint_delete.png"
+ - elsif diff.renamed_file
+ %span.moved_file
+ %a{:href => "##{diff.b_path}"}
+ = diff.a_path
+ = "->"
+ = diff.b_path
+ = image_tag "blueprint_notice.png"
+ - elsif diff.new_file
+ %span.new_file
+ %a{:href => "##{diff.b_path}"}
+ = diff.b_path
+ = image_tag "blueprint_add.png"
+ - else
+ %span.edit_file
+ %a{:href => "##{diff.b_path}"}
+ = diff.b_path
+ = image_tag "blueprint_info.png"
+- @commit.diffs.each do |diff|
+ - next if diff.diff.empty?
+ - file = (@commit.tree / diff.b_path)
+ - next unless file
+ .diff_file
+ .diff_file_header
+ - if diff.deleted_file
+ %strong{:id => "#{diff.b_path}"}= diff.a_path
+ - else
+ %strong{:id => "#{diff.b_path}"}= diff.b_path
+ %br/
+ .diff_file_content
+ - if file.mime_type =~ /application|text/ && !Utils.binary?(file.data)
+ - lines_arr = diff.diff.lines.to_a
+ - line_old = lines_arr[2].match(/-(\d)/)[0].to_i.abs rescue 0
+ - line_new = lines_arr[2].match(/\+(\d)/)[0].to_i.abs rescue 0
+ - lines = lines_arr[3..-1].join
+ - lines.each_line do |line|
+ = diff_line(line, line_new, line_old)
+ - if line[0] == "+"
+ - line_new += 1
+ - elsif
+ - line[0] == "-"
+ - line_old += 1
+ - else
+ - line_new += 1
+ - line_old += 1
+ - elsif file.mime_type =~ /image/
+ .diff_file_content_image
+ %img{:src => "data:image/jpeg;base64,#{Base64.encode64(file.data)}"}
+ - else
+ %p
+ %center No preview for this file type