summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorSaito <saitowu@gmail.com>2012-05-30 11:47:26 +0800
committerSaito <saitowu@gmail.com>2012-05-30 11:47:26 +0800
commitc71a76e71a33315977797db3e72be1f76462183f (patch)
treecd1fe9b862929b0dbb131d649de2637a8f0f97cc /config
parentefd9a717c10f1cafd05fb20729eafb61226d9c1d (diff)
downloadgitlab-ce-c71a76e71a33315977797db3e72be1f76462183f.tar.gz
fix graph problem if authorname or message isnot utf8 encoding
Diffstat (limited to 'config')
-rw-r--r--config/initializers/gitlabhq/20_grit_ext.rb19
1 files changed, 17 insertions, 2 deletions
diff --git a/config/initializers/gitlabhq/20_grit_ext.rb b/config/initializers/gitlabhq/20_grit_ext.rb
index f17cf4415ea..314553f7951 100644
--- a/config/initializers/gitlabhq/20_grit_ext.rb
+++ b/config/initializers/gitlabhq/20_grit_ext.rb
@@ -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