diff options
author | Fabio Papa <fabtheman@gmail.com> | 2019-06-13 10:46:47 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2019-06-13 10:46:47 +0000 |
commit | 352b43e0af67377b8e75b4a082418e32b13ee5f6 (patch) | |
tree | 424cb0499d657602dd77aef0bdaad63d77ca41dc | |
parent | 4eb63d82d923bf884a1758536b2b8930bb9896b0 (diff) | |
download | gitlab-ce-352b43e0af67377b8e75b4a082418e32b13ee5f6.tar.gz |
Modify the branch hooks spec to expect processing of commit messages
Commit messages are not processed for references to issues when
creating the default branch on push. This was expected
behavior (probably to avoid performance problems when first pushing a
repository with thousands of commits). However, this is not an issue
because we always limit the number of commits to process to 100
regardless of whether we are creating the default branch or not.
-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 |