Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-10-10 00:06:24 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-10-10 00:06:24 +0300
commit4b28d5ae770c6bd332283a3f13ceae06329c409b (patch)
treeae4d46e1d017002935fe75dc14cb3c108be12fae /lib/gitlab/git
parent41efffa17c67405ca5f5dac49d72be7872cee339 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/git')
-rw-r--r--lib/gitlab/git/diff_collection.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/gitlab/git/diff_collection.rb b/lib/gitlab/git/diff_collection.rb
index cb9154cb1e8..b79e30bff78 100644
--- a/lib/gitlab/git/diff_collection.rb
+++ b/lib/gitlab/git/diff_collection.rb
@@ -31,6 +31,7 @@ module Gitlab
@limits = self.class.limits(options)
@enforce_limits = !!options.fetch(:limits, true)
@expanded = !!options.fetch(:expanded, true)
+ @offset_index = options.fetch(:offset_index, 0)
@line_count = 0
@byte_count = 0
@@ -128,7 +129,7 @@ module Gitlab
def each_serialized_patch
i = @array.length
- @iterator.each do |raw|
+ @iterator.each_with_index do |raw, iterator_index|
@empty = false
if @enforce_limits && i >= max_files
@@ -154,8 +155,12 @@ module Gitlab
break
end
- yield @array[i] = diff
- i += 1
+ # We should not yield / memoize diffs before the offset index. Though,
+ # we still consider the limit buffers for diffs before it.
+ if iterator_index >= @offset_index
+ yield @array[i] = diff
+ i += 1
+ end
end
end
end