diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-11-11 13:25:53 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-11-11 13:25:53 +0000 |
commit | 4b83a0d848627ce3a9cb63f647c5a9fdb5799f5b (patch) | |
tree | 8f4ed35962636c9667a55f22fae8b7f6f194c5e4 /lib | |
parent | 58103680bdfe3cf404267504bf8dd2155140fa61 (diff) | |
download | redmine-4b83a0d848627ce3a9cb63f647c5a9fdb5799f5b.tar.gz redmine-4b83a0d848627ce3a9cb63f647c5a9fdb5799f5b.zip |
Fixes diff parser for when lines starting with multiple dashes are removed (#4186).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3028 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib')
-rw-r--r-- | lib/redmine/unified_diff.rb | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/redmine/unified_diff.rb b/lib/redmine/unified_diff.rb index e66ff217f..09fbfcf1a 100644 --- a/lib/redmine/unified_diff.rb +++ b/lib/redmine/unified_diff.rb @@ -27,11 +27,10 @@ module Redmine @truncated = false diff_table = DiffTable.new(diff_type) diff.each do |line| - if line =~ /^(---|\+\+\+) (.*)$/ + unless diff_table.add_line line self << diff_table if diff_table.length > 1 diff_table = DiffTable.new(diff_type) end - diff_table.add_line line lines += 1 if options[:max_lines] && lines > options[:max_lines] @truncated = true @@ -61,11 +60,11 @@ module Redmine end # Function for add a line of this Diff + # Returns false when the diff ends def add_line(line) unless @parsing if line =~ /^(---|\+\+\+) (.*)$/ @file_name = $2 - return false elsif line =~ /^@@ (\+|\-)(\d+)(,\d+)? (\+|\-)(\d+)(,\d+)? @@/ @line_num_l = $2.to_i @line_num_r = $5.to_i |