summaryrefslogtreecommitdiff
path: root/lib/gitlab/git/diff_collection.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/git/diff_collection.rb')
-rw-r--r--lib/gitlab/git/diff_collection.rb17
1 files changed, 7 insertions, 10 deletions
diff --git a/lib/gitlab/git/diff_collection.rb b/lib/gitlab/git/diff_collection.rb
index 24b67424f28..0ffe8bee953 100644
--- a/lib/gitlab/git/diff_collection.rb
+++ b/lib/gitlab/git/diff_collection.rb
@@ -9,8 +9,6 @@ module Gitlab
attr_reader :limits
- delegate :max_files, :max_lines, :max_bytes, :safe_max_files, :safe_max_lines, :safe_max_bytes, to: :limits
-
def self.default_limits
{ max_files: ::Commit.diff_safe_max_files, max_lines: ::Commit.diff_safe_max_lines }
end
@@ -26,8 +24,7 @@ module Gitlab
limits[:safe_max_lines] = [limits[:max_lines], defaults[:max_lines]].min
limits[:safe_max_bytes] = limits[:safe_max_files] * 5.kilobytes # Average 5 KB per file
limits[:max_patch_bytes] = Gitlab::Git::Diff.patch_hard_limit_bytes
-
- OpenStruct.new(limits)
+ limits
end
def initialize(iterator, options = {})
@@ -140,11 +137,11 @@ module Gitlab
end
def over_safe_limits?(files)
- if files >= safe_max_files
+ if files >= limits[:safe_max_files]
@collapsed_safe_files = true
- elsif @line_count > safe_max_lines
+ elsif @line_count > limits[:safe_max_lines]
@collapsed_safe_lines = true
- elsif @byte_count >= safe_max_bytes
+ elsif @byte_count >= limits[:safe_max_bytes]
@collapsed_safe_bytes = true
end
@@ -179,7 +176,7 @@ module Gitlab
@iterator.each_with_index do |raw, iterator_index|
@empty = false
- if @enforce_limits && i >= max_files
+ if @enforce_limits && i >= limits[:max_files]
@overflow = true
@overflow_max_files = true
break
@@ -194,7 +191,7 @@ module Gitlab
@line_count += diff.line_count
@byte_count += diff.diff.bytesize
- if @enforce_limits && @line_count >= max_lines
+ if @enforce_limits && @line_count >= limits[:max_lines]
# This last Diff instance pushes us over the lines limit. We stop and
# discard it.
@overflow = true
@@ -202,7 +199,7 @@ module Gitlab
break
end
- if @enforce_limits && @byte_count >= max_bytes
+ if @enforce_limits && @byte_count >= limits[:max_bytes]
# This last Diff instance pushes us over the lines limit. We stop and
# discard it.
@overflow = true