summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/initializers/gitlabhq/20_grit_ext.rb19
-rw-r--r--lib/graph_commit.rb4
2 files changed, 19 insertions, 4 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
diff --git a/lib/graph_commit.rb b/lib/graph_commit.rb
index 0080e856402..54550d99cf6 100644
--- a/lib/graph_commit.rb
+++ b/lib/graph_commit.rb
@@ -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