summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/repository/git.rb4
-rw-r--r--lib/redmine/scm/adapters/git_adapter.rb4
-rw-r--r--test/fixtures/repositories/git_repository.tar.gzbin20730 -> 15432 bytes
-rw-r--r--test/unit/lib/redmine/scm/adapters/git_adapter_test.rb4
-rw-r--r--test/unit/repository_git_test.rb8
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 58b4df5fd..48c8027c8 100644
--- a/test/fixtures/repositories/git_repository.tar.gz
+++ b/test/fixtures/repositories/git_repository.tar.gz
Binary files differ
diff --git a/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb b/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb
index d86b120d4..ba8d3f69c 100644
--- a/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb
+++ b/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb
@@ -28,11 +28,11 @@ begin
end
def test_branches
- assert_equal @adapter.branches, ['master', 'test_branch']
+ assert_equal @adapter.branches, ['master', 'test-latin-1', 'test_branch']
end
def test_getting_all_revisions
- assert_equal 15, @adapter.revisions('',nil,nil,:all => 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