BigW Consortium Gitlab

Commit 6c4f6d37 by Douwe Maan

Include project in BatchLoader key to prevent returning blobs for the wrong project

parent 1fbda39c
...@@ -77,9 +77,15 @@ class Blob < SimpleDelegator ...@@ -77,9 +77,15 @@ class Blob < SimpleDelegator
end end
def self.lazy(project, commit_id, path) def self.lazy(project, commit_id, path)
BatchLoader.for(commit_id: commit_id, path: path).batch do |items, loader| BatchLoader.for({ project: project, commit_id: commit_id, path: path }).batch do |items, loader|
project.repository.blobs_at(items.map(&:values)).each do |blob| items_by_project = items.group_by { |i| i[:project] }
loader.call({ commit_id: blob.commit_id, path: blob.path }, blob) if blob
items_by_project.each do |project, items|
items = items.map { |i| i.values_at(:commit_id, :path) }
project.repository.blobs_at(items).each do |blob|
loader.call({ project: blob.project, commit_id: blob.commit_id, path: blob.path }, blob) if blob
end
end end
end end
end end
......
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