]> source.dussan.org Git - redmine.git/commitdiff
scm: git: use "--encoding=UTF-8" for blame (#14931)
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Wed, 18 Sep 2013 06:16:55 +0000 (06:16 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Wed, 18 Sep 2013 06:16:55 +0000 (06:16 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12143 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/scm/adapters/git_adapter.rb
test/unit/lib/redmine/scm/adapters/git_adapter_test.rb

index 1876190d974ee6de87996e9abb0700517b132ac8..3c9758a2e3d175932934796c9ea1508cff340523 100644 (file)
@@ -333,7 +333,7 @@ module Redmine
 
         def annotate(path, identifier=nil)
           identifier = 'HEAD' if identifier.blank?
-          cmd_args = %w|blame|
+          cmd_args = %w|blame --encoding=UTF-8|
           cmd_args << "-p" << identifier << "--" <<  scm_iconv(@path_encoding, 'UTF-8', path)
           blame = Annotate.new
           content = nil
index 7155bed4f8a83887d53bbc5eea33d41b3448fd19..9a057331a98a61d5a5d7f141c1b7d0e01ead5fd7 100644 (file)
@@ -424,6 +424,19 @@ begin
         end
       end
 
+      def test_latin_1_user_annotate
+        ['83ca5fd546063a3c7dc2e568ba3355661a9e2b2c', '83ca5fd546063a'].each do |r1|
+          annotate = @adapter.annotate(" filename with a leading space.txt ", r1)
+          assert_kind_of Redmine::Scm::Adapters::Annotate, annotate
+          assert_equal 1, annotate.lines.size
+          assert_equal "And this is a file with a leading and trailing space...",
+                       annotate.lines[0].strip
+          assert_equal "83ca5fd546063a3c7dc2e568ba3355661a9e2b2c",
+                       annotate.revisions[0].identifier
+          assert_equal @str_felix_hex, annotate.revisions[0].author
+        end
+      end
+
       def test_entries_tag
         entries1 = @adapter.entries(nil, 'tag01.annotated',
                                     options = {:report_last_commit => true})