diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-09-08 18:10:47 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-09-08 18:10:47 +0000 |
commit | 03a8aa2ca6a7d7aced2fde7815c8ef85d681db60 (patch) | |
tree | 915b00839e8f0ae30f1c6756880f3ed4339d74c4 /app/services | |
parent | f8c7f38d02ebf964cbf40d9445f0f9f843710701 (diff) | |
download | gitlab-ce-03a8aa2ca6a7d7aced2fde7815c8ef85d681db60.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/merge_requests/merge_service.rb | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/app/services/merge_requests/merge_service.rb b/app/services/merge_requests/merge_service.rb index f51923b7035..5244f2acd66 100644 --- a/app/services/merge_requests/merge_service.rb +++ b/app/services/merge_requests/merge_service.rb @@ -92,15 +92,16 @@ module MergeRequests raise_error(GENERIC_ERROR_MESSAGE) end - merge_request.update!(merge_commit_sha: commit_id) + data_to_update = { merge_commit_sha: commit_id } + data_to_update[:squash_commit_sha] = source if merge_request.squash_on_merge? + + merge_request.update!(**data_to_update) ensure merge_request.update_and_mark_in_progress_merge_commit_sha(nil) end def try_merge - repository.merge(current_user, source, merge_request, commit_message).tap do - merge_request.update_column(:squash_commit_sha, source) if merge_request.squash_on_merge? - end + repository.merge(current_user, source, merge_request, commit_message) rescue Gitlab::Git::PreReceiveError => e raise MergeError, "Something went wrong during merge pre-receive hook. #{e.message}".strip |