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
end
end
delegate :deltas, to: :raw, prefix: :raw
def diffs(diff_options = nil)
Gitlab::Diff::FileCollection::Commit.new(self, diff_options: diff_options)
end
......@@ -373,7 +375,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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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]
......
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