diff options
-rw-r--r-- | app/services/git/branch_hooks_service.rb | 6 | ||||
-rw-r--r-- | changelogs/unreleased/patch-issue--56683.yml | 6 | ||||
-rw-r--r-- | spec/services/git/branch_hooks_service_spec.rb | 4 |
3 files changed, 9 insertions, 7 deletions
diff --git a/app/services/git/branch_hooks_service.rb b/app/services/git/branch_hooks_service.rb index d21a6bb1b9a..4aee48f22e7 100644 --- a/app/services/git/branch_hooks_service.rb +++ b/app/services/git/branch_hooks_service.rb @@ -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? diff --git a/changelogs/unreleased/patch-issue--56683.yml b/changelogs/unreleased/patch-issue--56683.yml new file mode 100644 index 00000000000..9b82c6c1459 --- /dev/null +++ b/changelogs/unreleased/patch-issue--56683.yml @@ -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 diff --git a/spec/services/git/branch_hooks_service_spec.rb b/spec/services/git/branch_hooks_service_spec.rb index 22faa996015..b5694628269 100644 --- a/spec/services/git/branch_hooks_service_spec.rb +++ b/spec/services/git/branch_hooks_service_spec.rb @@ -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 |