changeset 922:ad295b270cd4 live

FIx #446: "non-utf8 paths in repositories blow up repo viewer and reposman" by ensuring the iconv conversion always happens even if source and dest are intended to be the same encoding
author Chris Cannam
date Tue, 13 Mar 2012 16:33:49 +0000
parents 8623d131c9ad
children bd2afdf7e446 5bf2b9fac683 fe0249c097f6
files lib/redmine/scm/adapters/abstract_adapter.rb
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lib/redmine/scm/adapters/abstract_adapter.rb	Thu Feb 02 15:26:47 2012 +0000
+++ b/lib/redmine/scm/adapters/abstract_adapter.rb	Tue Mar 13 16:33:49 2012 +0000
@@ -242,7 +242,12 @@
 
         def scm_iconv(to, from, str)
           return nil if str.nil?
-          return str if to == from
+          # bug 446: non-utf8 paths in repositories blow up repo viewer and reposman
+          # -- Remove this short-circuit: we want the conversion to
+          #    happen always, so we can trap the error here if the
+          #    source text happens not to be in the advertised
+          #    encoding (instead of having the database blow up later)
+#          return str if to == from
           begin
             Iconv.conv(to, from, str)
           rescue Iconv::Failure => err