Commit 946a3634 authored by Robert Speicher's avatar Robert Speicher

Merge branch 'sh-optimize-commit-stats' into 'master'

Speed up generation of commit stats by using Rugged native methods

See merge request gitlab-org/gitlab-ce!16186
parents f7cb2193 25a86875
---
title: Speed up generation of commit stats by using Rugged native methods
merge_request:
author:
type: performance
...@@ -34,13 +34,8 @@ module Gitlab ...@@ -34,13 +34,8 @@ module Gitlab
def rugged_stats(commit) def rugged_stats(commit)
diff = commit.rugged_diff_from_parent diff = commit.rugged_diff_from_parent
_files_changed, @additions, @deletions = diff.stat
diff.each_patch do |p| @total = @additions + @deletions
# TODO: Use the new Rugged convenience methods when they're released
@additions += p.stat[0]
@deletions += p.stat[1]
@total += p.changes
end
end end
end end
end end
......
...@@ -428,6 +428,11 @@ describe Gitlab::Git::Commit, seed_helper: true do ...@@ -428,6 +428,11 @@ describe Gitlab::Git::Commit, seed_helper: true do
subject { super().deletions } subject { super().deletions }
it { is_expected.to eq(6) } it { is_expected.to eq(6) }
end end
describe '#total' do
subject { super().total }
it { is_expected.to eq(17) }
end
end end
describe '#stats with gitaly on' do describe '#stats with gitaly on' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment