scm: git: use "--encoding=UTF-8" for blame (#14931)

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12143 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2013-09-18 06:16:55 +00:00
parent da87e4b1ef
commit 9002477006
2 changed files with 14 additions and 1 deletions

View File

@ -333,7 +333,7 @@ module Redmine
def annotate(path, identifier=nil) def annotate(path, identifier=nil)
identifier = 'HEAD' if identifier.blank? 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) cmd_args << "-p" << identifier << "--" << scm_iconv(@path_encoding, 'UTF-8', path)
blame = Annotate.new blame = Annotate.new
content = nil content = nil

View File

@ -424,6 +424,19 @@ begin
end end
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 def test_entries_tag
entries1 = @adapter.entries(nil, 'tag01.annotated', entries1 = @adapter.entries(nil, 'tag01.annotated',
options = {:report_last_commit => true}) options = {:report_last_commit => true})