summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-02-21 12:10:16 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-02-21 12:10:16 +0000
commit8963579be38c3567ebd2bfad305cbfebdc660e0b (patch)
tree28e5d724d141b4b769c045fba9f25e87077eaadb /lib
parentca3b503478e4b60436062e1b4766b009ce4fa579 (diff)
downloadredmine-8963579be38c3567ebd2bfad305cbfebdc660e0b.tar.gz
redmine-8963579be38c3567ebd2bfad305cbfebdc660e0b.zip
scm: add "scm_iconv" method for repository path encoding in abstract_adapter.rb (#2664, #2274).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4906 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib')
-rw-r--r--lib/redmine/scm/adapters/abstract_adapter.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/redmine/scm/adapters/abstract_adapter.rb b/lib/redmine/scm/adapters/abstract_adapter.rb
index 92af19446..b0c93bd2c 100644
--- a/lib/redmine/scm/adapters/abstract_adapter.rb
+++ b/lib/redmine/scm/adapters/abstract_adapter.rb
@@ -221,8 +221,19 @@ module Redmine
def strip_credential(cmd)
self.class.strip_credential(cmd)
end
+
+ def scm_iconv(to, from, str)
+ return nil if str.nil?
+ return str if to == from
+ begin
+ Iconv.conv(to, from, str)
+ rescue Iconv::Failure => err
+ logger.error("failed to convert from #{from} to #{to}. #{err}")
+ nil
+ end
+ end
end
-
+
class Entries < Array
def sort_by_name
sort {|x,y|