OSDN Git Service

Fixed commit diff: content of removed files displayed
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Tue, 14 Feb 2012 18:00:25 +0000 (20:00 +0200)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Tue, 14 Feb 2012 18:00:25 +0000 (20:00 +0200)
app/helpers/commits_helper.rb
app/views/commits/_diffs.html.haml

index c56874a..a750e49 100644 (file)
@@ -53,11 +53,13 @@ module CommitsHelper
 
     lines_arr = diff_arr
     lines_arr.each do |line|
+      next if line.match(/^\-\-\- \/dev\/null/)
+      next if line.match(/^\+\+\+ \/dev\/null/)
+      next if line.match(/^\-\-\- a/)
+      next if line.match(/^\+\+\+ b/)
+
       full_line = html_escape(line.gsub(/\n/, ''))
 
-      next if line.match(/^--- \/dev\/null/)
-      next if line.match(/^--- a/)
-      next if line.match(/^\+\+\+ b/)
       if line.match(/^@@ -/)
         next if line_old == 1 && line_new == 1
         type = "match"
index 8f65afc..e3aa45d 100644 (file)
@@ -4,11 +4,12 @@
 - diffs.each_with_index do |diff, i|
   - next if diff.diff.empty?
   - file = (@commit.tree / diff.b_path)
+  - file = (@commit.prev_commit.tree / diff.a_path) unless file
   - next unless file
   .diff_file
     .diff_file_header
       - if diff.deleted_file
-        %strong{:id => "#{diff.b_path}"}= diff.a_path
+        %strong{:id => "#{diff.a_path}"}= diff.a_path
       - else
         = link_to tree_file_project_ref_path(@project, @commit.id, diff.b_path) do
           %strong{:id => "#{diff.b_path}"}= diff.b_path