From eb1271bb444c82a95264a4030ac425d8f688f1f7 Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Mon, 28 Feb 2011 14:12:47 +0000 Subject: [PATCH] scm: git: use --encoding=UTF-8 in "git log" (#3396). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4964 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/repository/git.rb | 4 ++++ lib/redmine/scm/adapters/git_adapter.rb | 4 ++-- .../repositories/git_repository.tar.gz | Bin 20730 -> 15432 bytes .../redmine/scm/adapters/git_adapter_test.rb | 4 ++-- test/unit/repository_git_test.rb | 8 ++++---- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/models/repository/git.rb b/app/models/repository/git.rb index 0ebd8668e..63faea668 100644 --- a/app/models/repository/git.rb +++ b/app/models/repository/git.rb @@ -29,6 +29,10 @@ class Repository::Git < Repository 'Git' end + def repo_log_encoding + 'UTF-8' + end + # Returns the identifier for the given git changeset def self.changeset_identifier(changeset) changeset.scmid diff --git a/lib/redmine/scm/adapters/git_adapter.rb b/lib/redmine/scm/adapters/git_adapter.rb index 4d3ea598f..6ad7426c3 100644 --- a/lib/redmine/scm/adapters/git_adapter.rb +++ b/lib/redmine/scm/adapters/git_adapter.rb @@ -129,7 +129,7 @@ module Redmine def lastrev(path, rev) return nil if path.nil? - cmd_args = %w|log --no-color --date=iso --pretty=fuller --no-merges -n 1| + cmd_args = %w|log --no-color --encoding=UTF-8 --date=iso --pretty=fuller --no-merges -n 1| cmd_args << rev if rev cmd_args << "--" << path unless path.empty? lines = [] @@ -157,7 +157,7 @@ module Redmine def revisions(path, identifier_from, identifier_to, options={}) revisions = Revisions.new - cmd_args = %w|log --no-color --raw --date=iso --pretty=fuller| + cmd_args = %w|log --no-color --encoding=UTF-8 --raw --date=iso --pretty=fuller| cmd_args << "--reverse" if options[:reverse] cmd_args << "--all" if options[:all] cmd_args << "-n" << "#{options[:limit].to_i}" if options[:limit] diff --git a/test/fixtures/repositories/git_repository.tar.gz b/test/fixtures/repositories/git_repository.tar.gz index 58b4df5fdb0c97b8a3f06b48f44eb33032cd3899..48c8027c86c7f9850658aadfff118e0102557f22 100644 GIT binary patch literal 15432 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 literal 20730 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

A)uYMp8!9pMt6Xry}wj&PY;SZjGx95!H8hM#` zw+IdeYH;p>!T<1UzihST2eS^=wVUtCAX(n;-e##QP2);&99@DfNj$P{m-2OrHS=Zs zIam7}*WKYo$!e1QCz4@&8j>oKdW}gA^P3h{`=MuL{~qCGt49%O;kEiKBNXVzKOVpg zB=I7gXFg>g{?NQrydPExi`#u!8gP!%pu8@>^GIf zx!5(EB^QInO^?d#?C4iaFK&-xmq{h&-J={)qPQRxV|OR)JPr;~w77QnPYLgm=I6C3 z*5~<%RtYKS+_~y4FP}N3Qr`1+pD(hP=MLu zXq2GkTMk+1neYtsZl|COguS(AttjcxdxmwB2;I(F z4mP#*X72CTlp1xpR{cT{f=9l0>RRfK&YutDZoXgMeYa{ju>N)T9Dpq-VL7Tp>iu`q zJn4=^!TK_*MziB#caqwACiL(@QhK;}Ii6Sg8HYsn-Ia+6spepYRl3`azVQ&fpcs&QO%)tyPkr?`iuX}P@e{g1`{1m|06=z4y<-; zM3pcM`Hy(iO)u#}Ll~l6$N!!&kHHTLmmtpE;QxY%Hy|<2UO<{K54@LfSvy;l_gnmk znx6Wy$O3YwDEs{%9gl`Ck)FC|`*eaYXW+`S_4?Ri0as@_N;Xev<@RM*ShYy=ZJD$8 znLT~=)oZAaj;#e9;|}_e#Zlsy3-&h%D8%N@l7$M-z%;sTuZi3x+Q>4rXGi|zUHJwM zV7<^0I47RTG&|p-nnbGqg@l`dBn8Hofg|t|yllrK&%UaZ7hmAfFMRw#6Zx|ZRslJ( zUk!|GX3?;COsm!fwWkIP8}DK0F96&(H|Li^E=|r)+)JN=(Sj$El?|~f5S9nw*#lBb2RTs=V4!CeQDv5mZ-_b1L;bKZ45m}(f90xzf;74`} zYr-*xzo;Qhk1%=uc=VIL(z~@FC5d36;{kmBUo7z0*l6u^EYXbL@~*}tbV

2?JRNXW)KuWor(jmrM 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 true).length + assert_equal 16, @adapter.revisions('',nil,nil,:all => true).length end def test_getting_certain_revisions diff --git a/test/unit/repository_git_test.rb b/test/unit/repository_git_test.rb index 46d1ad6bb..baa176414 100644 --- a/test/unit/repository_git_test.rb +++ b/test/unit/repository_git_test.rb @@ -38,8 +38,8 @@ class RepositoryGitTest < ActiveSupport::TestCase @repository.fetch_changesets @repository.reload - assert_equal 15, @repository.changesets.count - assert_equal 24, @repository.changes.count + assert_equal 16, @repository.changesets.count + assert_equal 25, @repository.changes.count commit = @repository.changesets.find(:first, :order => 'committed_on ASC') assert_equal "Initial import.\nThe repository contains 3 files.", commit.comments @@ -61,10 +61,10 @@ class RepositoryGitTest < ActiveSupport::TestCase # Remove the 3 latest changesets @repository.changesets.find(:all, :order => 'committed_on DESC', :limit => 3).each(&:destroy) @repository.reload - assert_equal 12, @repository.changesets.count + assert_equal 13, @repository.changesets.count @repository.fetch_changesets - assert_equal 15, @repository.changesets.count + assert_equal 16, @repository.changesets.count end def test_find_changeset_by_name