Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot
2025-06-25 09:11:34 +00:00
parent 08a77c4486
commit 1d107471ad
75 changed files with 732 additions and 303 deletions

View File

@ -4,11 +4,7 @@ module API
module Entities
class MergeRequestDiffFull < MergeRequestDiff
expose :commits, using: Entities::Commit do |diff, _|
if ::Feature.enabled?(:commits_from_gitaly, diff.project)
diff.commits(load_from_gitaly: true)
else
diff.commits
end
diff.commits(load_from_gitaly: true)
end
expose :diffs, using: Entities::Diff do |compare, _|

View File

@ -466,23 +466,16 @@ module API
end
get ':id/merge_requests/:merge_request_iid/commits', feature_category: :code_review_workflow, urgency: :low do
merge_request = find_merge_request_with_access(params[:merge_request_iid])
project = merge_request.target_project
merge_request_diff = merge_request.merge_request_diff
if ::Feature.enabled?(:commits_from_gitaly, project)
page = params[:page] > 0 ? params[:page] : 1
per_page = params[:per_page] > 0 ? params[:per_page] : Kaminari.config.default_per_page
limit = [per_page, Kaminari.config.max_per_page].min
page = params[:page] > 0 ? params[:page] : 1
per_page = params[:per_page] > 0 ? params[:per_page] : Kaminari.config.default_per_page
limit = [per_page, Kaminari.config.max_per_page].min
gitaly_commits = merge_request_diff.commits(limit: limit, page: page, load_from_gitaly: true)
gitaly_commits = merge_request_diff.commits(limit: limit, page: page, load_from_gitaly: true)
paginatable_array = Kaminari.paginate_array(gitaly_commits, total_count: merge_request_diff.commits_count).page(page).per(limit)
commits = paginate(paginatable_array)
else
commits =
paginate(merge_request.merge_request_diff.merge_request_diff_commits)
.map { |commit| Commit.from_hash(commit.to_hash, merge_request.project) }
end
paginatable_array = Kaminari.paginate_array(gitaly_commits, total_count: merge_request_diff.commits_count).page(page).per(limit)
commits = paginate(paginatable_array)
present commits, with: Entities::Commit
end