summaryrefslogtreecommitdiff
path: root/app/services
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-09-08 18:10:47 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-09-08 18:10:47 +0000
commit03a8aa2ca6a7d7aced2fde7815c8ef85d681db60 (patch)
tree915b00839e8f0ae30f1c6756880f3ed4339d74c4 /app/services
parentf8c7f38d02ebf964cbf40d9445f0f9f843710701 (diff)
downloadgitlab-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.rb9
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