diff --git a/app/models/changeset.rb b/app/models/changeset.rb index 5294b05c2d35eb71577c65bb2ee857e811e6eae1..623ee41f34ff832aa61f6b8debf5c16da4a8fcb0 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -74,6 +74,14 @@ class Changeset < ActiveRecord::Base user || committer.to_s.split('<').first end + # Committer of the Changeset + # + # Attribute reader for committer that encodes the committer string to + # the repository log encoding (e.g. UTF-8) + def committer + self.class.to_utf8(read_attribute(:committer), repository.repo_log_encoding) + end + def before_create self.committer = self.class.to_utf8(self.committer, repository.repo_log_encoding) self.comments = self.class.normalize_comments(self.comments, repository.repo_log_encoding) @@ -273,12 +281,6 @@ class Changeset < ActiveRecord::Base end str = txtar end - # removes invalid UTF8 sequences - begin - Iconv.conv('UTF-8//IGNORE', 'UTF-8', str + ' ')[0..-3] - rescue Iconv::InvalidEncoding - # "UTF-8//IGNORE" is not supported on some OS - str - end + str end end