in lib/rugged_adapter/git_layer_rugged.rb [135:152]
def build_stats
additions = 0
deletions = 0
total = 0
files = []
parent = @commit.parents.first
diff = Rugged::Tree.diff(@commit.tree.repo, parent ? parent.tree : nil, @commit.tree)
diff = diff.each_patch do |patch|
new_additions = patch.additions
new_deletions = patch.deletions
additions += new_additions
deletions += new_deletions
total += patch.changes
files << [patch.delta.new_file[:path].force_encoding("UTF-8"), new_additions, new_deletions, patch.changes]
end
OpenStruct.new(:additions => additions, :deletions => deletions, :files => files, :id => id, :total => total)
end