fix graph problem if authorname or message isnot utf8 encoding

This commit is contained in:
Saito 2012-05-30 11:47:26 +08:00
parent efd9a717c1
commit c71a76e71a
2 changed files with 19 additions and 4 deletions

View file

@ -14,8 +14,23 @@ Grit::Blob.class_eval do
end
Grit::Commit.class_eval do
def message
Gitlab::Encode.utf8 @message
def to_hash
{
'id' => id,
'parents' => parents.map { |p| { 'id' => p.id } },
'tree' => tree.id,
'message' => Gitlab::Encode.utf8(message),
'author' => {
'name' => Gitlab::Encode.utf8(author.name),
'email' => author.email
},
'committer' => {
'name' => Gitlab::Encode.utf8(committer.name),
'email' => committer.email
},
'authored_date' => authored_date.xmlschema,
'committed_date' => committed_date.xmlschema,
}
end
end

View file

@ -96,13 +96,13 @@ class GraphCommit
h[:parents] = self.parents.collect do |p|
[p.id,0,0]
end
h[:author] = author.name.force_encoding("UTF-8")
h[:author] = author.name
h[:time] = time
h[:space] = space
h[:refs] = refs.collect{|r|r.name}.join(" ") unless refs.nil?
h[:id] = sha
h[:date] = date
h[:message] = message.force_encoding("UTF-8")
h[:message] = message
h[:login] = author.email
h
end