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 end
Grit::Commit.class_eval do Grit::Commit.class_eval do
def message def to_hash
Gitlab::Encode.utf8 @message {
'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
end end

View file

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