summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-02-23 07:03:45 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-02-23 07:03:45 +0000
commit35f075d8ad7d0ff190bcfec42e7ea061a8255e92 (patch)
treef9959e20f6694257b3dc10f7874e8c309d31ccb2
parent7dfd0bf67920c000ff1f3a268d2596930f35af4f (diff)
downloadredmine-35f075d8ad7d0ff190bcfec42e7ea061a8255e92.tar.gz
redmine-35f075d8ad7d0ff190bcfec42e7ea061a8255e92.zip
scm: fix diffs do not handle one line new files properly (#7618).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4929 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redmine/unified_diff.rb2
-rw-r--r--test/unit/lib/redmine/unified_diff_test.rb33
2 files changed, 33 insertions, 2 deletions
diff --git a/lib/redmine/unified_diff.rb b/lib/redmine/unified_diff.rb
index 65d880dd7..430b1254a 100644
--- a/lib/redmine/unified_diff.rb
+++ b/lib/redmine/unified_diff.rb
@@ -36,7 +36,7 @@ module Redmine
end
unless diff_table.add_line line
line.force_encoding(line_encoding) if line_encoding
- self << diff_table if diff_table.length > 1
+ self << diff_table if diff_table.length > 0
diff_table = DiffTable.new(diff_type)
end
lines += 1
diff --git a/test/unit/lib/redmine/unified_diff_test.rb b/test/unit/lib/redmine/unified_diff_test.rb
index 7bac78d81..e6da01c8d 100644
--- a/test/unit/lib/redmine/unified_diff_test.rb
+++ b/test/unit/lib/redmine/unified_diff_test.rb
@@ -60,8 +60,39 @@ DIFF
assert_equal 1, diff.size
end
+ def test_one_line_new_files
+ diff = Redmine::UnifiedDiff.new(<<-DIFF
+diff -r 000000000000 -r ea98b14f75f0 README1
+--- /dev/null
++++ b/README1
+@@ -0,0 +1,1 @@
++test1
+diff -r 000000000000 -r ea98b14f75f0 README2
+--- /dev/null
++++ b/README2
+@@ -0,0 +1,1 @@
++test2
+diff -r 000000000000 -r ea98b14f75f0 README3
+--- /dev/null
++++ b/README3
+@@ -0,0 +1,3 @@
++test4
++test5
++test6
+diff -r 000000000000 -r ea98b14f75f0 README4
+--- /dev/null
++++ b/README4
+@@ -0,0 +1,3 @@
++test4
++test5
++test6
+DIFF
+ )
+ assert_equal 4, diff.size
+ end
+
private
-
+
def read_diff_fixture(filename)
File.new(File.join(File.dirname(__FILE__), '/../../../fixtures/diffs', filename)).read
end