summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2017-05-09 12:27:17 +0200
committerJacob Vosmaer <jacob@gitlab.com>2017-05-09 12:27:17 +0200
commit48254d187f421dfeb85a84bf2b86399add6e6a67 (patch)
tree1c816bf6defc73c0a50f0a287367e9518a0b0a02
parent62b0eb2c0ba02d2a9c9515722dfcb7ec61b7fc6a (diff)
downloadgitlab-ce-48254d187f421dfeb85a84bf2b86399add6e6a67.tar.gz
Don't use DiffCollection for deltas
-rw-r--r--app/models/commit.rb6
-rw-r--r--app/services/git_push_service.rb2
-rw-r--r--app/workers/irker_worker.rb6
-rw-r--r--lib/gitlab/git/commit.rb4
-rw-r--r--spec/services/git_push_service_spec.rb2
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]