Merge branch 'patch-issue-#56683' into 'master'

Process up to 100 commit messages for references when pushing to a new default branch

See merge request gitlab-org/gitlab-ce!29511
This commit is contained in:
Douwe Maan 2019-06-13 10:46:48 +00:00
commit 0c4059efc1
3 changed files with 9 additions and 7 deletions

View file

@ -20,8 +20,7 @@ module Git
strong_memoize(:commits) do
if creating_default_branch?
# The most recent PROCESS_COMMIT_LIMIT commits in the default branch
offset = [count_commits_in_branch - PROCESS_COMMIT_LIMIT, 0].max
project.repository.commits(params[:newrev], offset: offset, limit: PROCESS_COMMIT_LIMIT)
project.repository.commits(params[:newrev], limit: PROCESS_COMMIT_LIMIT)
elsif creating_branch?
# Use the pushed commits that aren't reachable by the default branch
# as a heuristic. This may include more commits than are actually
@ -84,9 +83,6 @@ module Git
# Schedules processing of commit messages
def enqueue_process_commit_messages
# don't process commits for the initial push to the default branch
return if creating_default_branch?
limited_commits.each do |commit|
next unless commit.matches_cross_reference_regex?

View file

@ -0,0 +1,6 @@
---
title: Process up to 100 commit messages for references when pushing to a new default
branch
merge_request: 29511
author: Fabio Papa
type: fixed

View file

@ -287,8 +287,8 @@ describe Git::BranchHooksService do
context 'creating the default branch' do
let(:oldrev) { Gitlab::Git::BLANK_SHA }
it 'does not process commit messages' do
expect(ProcessCommitWorker).not_to receive(:perform_async)
it 'processes a limited number of commit messages' do
expect(ProcessCommitWorker).to receive(:perform_async).once
service.execute
end