Commit ef396d08fc9af54f0e2c69da27d64e13064e0dfb

Authored by Dmitriy Zaporozhets
1 parent 65e4ad31

Fixed encoding issue for diff. Reordered merge request commits

app/controllers/merge_requests_controller.rb
@@ -49,7 +49,11 @@ class MergeRequestsController < ApplicationController @@ -49,7 +49,11 @@ class MergeRequestsController < ApplicationController
49 end 49 end
50 50
51 def commits 51 def commits
52 - @commits = @project.repo.commits_between(@merge_request.target_branch, @merge_request.source_branch).map {|c| Commit.new(c)} 52 + @commits = @project.repo.
  53 + commits_between(@merge_request.target_branch, @merge_request.source_branch).
  54 + map {|c| Commit.new(c)}.
  55 + sort_by(&:created_at).
  56 + reverse
53 end 57 end
54 58
55 def diffs 59 def diffs
app/helpers/commits_helper.rb
@@ -58,7 +58,7 @@ module CommitsHelper @@ -58,7 +58,7 @@ module CommitsHelper
58 next if line.match(/^\-\-\- a/) 58 next if line.match(/^\-\-\- a/)
59 next if line.match(/^\+\+\+ b/) 59 next if line.match(/^\+\+\+ b/)
60 60
61 - full_line = html_escape(line.gsub(/\n/, '')) 61 + full_line = html_escape(line.gsub(/\n/, '')).force_encoding("UTF-8")
62 62
63 if line.match(/^@@ -/) 63 if line.match(/^@@ -/)
64 next if line_old == 1 && line_new == 1 64 next if line_old == 1 && line_new == 1
app/views/commits/_diffs.html.haml
1 .file_stats 1 .file_stats
2 = render "commits/diff_head", :diffs => diffs 2 = render "commits/diff_head", :diffs => diffs
3 - 3 +
4 - diffs.each_with_index do |diff, i| 4 - diffs.each_with_index do |diff, i|
5 - next if diff.diff.empty? 5 - next if diff.diff.empty?
6 - file = (@commit.tree / diff.b_path) 6 - file = (@commit.tree / diff.b_path)
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
16 %br/ 16 %br/
17 .diff_file_content 17 .diff_file_content
18 - if file.text? 18 - if file.text?
19 - = render :partial => "commits/text_file", :locals => { :diff => diff, :index => i } 19 + = render "commits/text_file", :diff => diff, :index => i
20 - elsif file.image? 20 - elsif file.image?
21 .diff_file_content_image 21 .diff_file_content_image
22 %img{:src => "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"} 22 %img{:src => "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}