Commit c1174901 authored by Sean McGivern's avatar Sean McGivern

Merge branch 'deltas-only' into 'master'

Don't use DiffCollection for deltas

See merge request !11201
parents 5354c293 3107f2e4
...@@ -336,6 +336,8 @@ class Commit ...@@ -336,6 +336,8 @@ class Commit
end end
end end
delegate :deltas, to: :raw, prefix: :raw
def diffs(diff_options = nil) def diffs(diff_options = nil)
Gitlab::Diff::FileCollection::Commit.new(self, diff_options: diff_options) Gitlab::Diff::FileCollection::Commit.new(self, diff_options: diff_options)
end end
...@@ -373,7 +375,7 @@ class Commit ...@@ -373,7 +375,7 @@ class Commit
def repo_changes def repo_changes
changes = { added: [], modified: [], removed: [] } changes = { added: [], modified: [], removed: [] }
raw_diffs(deltas_only: true).each do |diff| raw_deltas.each do |diff|
if diff.deleted_file if diff.deleted_file
changes[:removed] << diff.old_path changes[:removed] << diff.old_path
elsif diff.renamed_file || diff.new_file elsif diff.renamed_file || diff.new_file
......
...@@ -67,7 +67,7 @@ class GitPushService < BaseService ...@@ -67,7 +67,7 @@ class GitPushService < BaseService
paths = Set.new paths = Set.new
@push_commits.each do |commit| @push_commits.each do |commit|
commit.raw_diffs(deltas_only: true).each do |diff| commit.raw_deltas.each do |diff|
paths << diff.new_path paths << diff.new_path
end end
end end
......
...@@ -142,10 +142,10 @@ class IrkerWorker ...@@ -142,10 +142,10 @@ class IrkerWorker
end end
def files_count(commit) def files_count(commit)
diffs = commit.raw_diffs(deltas_only: true) diff_size = commit.raw_deltas.size
files = "#{diffs.real_size} file" files = "#{diff_size} file"
files += 's' if diffs.size > 1 files += 's' if diff_size > 1
files files
end end
......
...@@ -192,6 +192,10 @@ module Gitlab ...@@ -192,6 +192,10 @@ module Gitlab
Commit.diff_from_parent(raw_commit, options) Commit.diff_from_parent(raw_commit, options)
end end
def deltas
@deltas ||= diff_from_parent.each_delta.map { |d| Gitlab::Git::Diff.new(d) }
end
def has_zero_stats? def has_zero_stats?
stats.total.zero? stats.total.zero?
rescue rescue
......
...@@ -584,7 +584,7 @@ describe GitPushService, services: true do ...@@ -584,7 +584,7 @@ describe GitPushService, services: true do
commit = double(:commit) commit = double(:commit)
diff = double(:diff, new_path: 'README.md') 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]) and_return([diff])
service.push_commits = [commit] service.push_commits = [commit]
......
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