From 48254d187f421dfeb85a84bf2b86399add6e6a67 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Tue, 9 May 2017 12:27:17 +0200 Subject: Don't use DiffCollection for deltas --- app/models/commit.rb | 6 +++++- app/services/git_push_service.rb | 2 +- app/workers/irker_worker.rb | 6 +++--- lib/gitlab/git/commit.rb | 4 ++++ spec/services/git_push_service_spec.rb | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/models/commit.rb b/app/models/commit.rb index 9359b323ed4..e1da8e75c0c 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -373,7 +373,7 @@ class Commit def repo_changes changes = { added: [], modified: [], removed: [] } - raw_diffs(deltas_only: true).each do |diff| + raw_deltas.each do |diff| if diff.deleted_file changes[:removed] << diff.old_path elsif diff.renamed_file || diff.new_file @@ -386,6 +386,10 @@ class Commit changes end + def raw_deltas + raw.deltas + end + def merged_merge_request?(user) !!merged_merge_request(user) end diff --git a/app/services/git_push_service.rb b/app/services/git_push_service.rb index 45411c779cc..5e503cdfc32 100644 --- a/app/services/git_push_service.rb +++ b/app/services/git_push_service.rb @@ -67,7 +67,7 @@ class GitPushService < BaseService paths = Set.new @push_commits.each do |commit| - commit.raw_diffs(deltas_only: true).each do |diff| + commit.raw_deltas.each do |diff| paths << diff.new_path end end diff --git a/app/workers/irker_worker.rb b/app/workers/irker_worker.rb index c9658b3fe17..22f67fa9e9f 100644 --- a/app/workers/irker_worker.rb +++ b/app/workers/irker_worker.rb @@ -142,10 +142,10 @@ class IrkerWorker end def files_count(commit) - diffs = commit.raw_diffs(deltas_only: true) + diff_size = commit.raw_deltas.size - files = "#{diffs.real_size} file" - files += 's' if diffs.size > 1 + files = "#{diff_size} file" + files += 's' if diff_size > 1 files end diff --git a/lib/gitlab/git/commit.rb b/lib/gitlab/git/commit.rb index 3a73697dc5d..f9a9b767ef4 100644 --- a/lib/gitlab/git/commit.rb +++ b/lib/gitlab/git/commit.rb @@ -192,6 +192,10 @@ module Gitlab Commit.diff_from_parent(raw_commit, options) end + def deltas + @deltas ||= diff_from_parent.each_delta.map { |d| Gitlab::Git::Diff.new(d) } + end + def has_zero_stats? stats.total.zero? rescue diff --git a/spec/services/git_push_service_spec.rb b/spec/services/git_push_service_spec.rb index 0477cac6677..39908dd103a 100644 --- a/spec/services/git_push_service_spec.rb +++ b/spec/services/git_push_service_spec.rb @@ -584,7 +584,7 @@ describe GitPushService, services: true do commit = double(:commit) diff = double(:diff, new_path: 'README.md') - expect(commit).to receive(:raw_diffs).with(deltas_only: true). + expect(commit).to receive(:raw_deltas). and_return([diff]) service.push_commits = [commit] -- cgit v1.2.1