Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-09-20 16:18:24 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-09-20 16:18:24 +0300
commit0653e08efd039a5905f3fa4f6e9cef9f5d2f799c (patch)
tree4dcc884cf6d81db44adae4aa99f8ec1233a41f55 /app/services/merge_requests
parent744144d28e3e7fddc117924fef88de5d9674fe4c (diff)
Add latest changes from gitlab-org/gitlab@14-3-stable-eev14.3.0-rc42
Diffstat (limited to 'app/services/merge_requests')
-rw-r--r--app/services/merge_requests/merge_to_ref_service.rb8
-rw-r--r--app/services/merge_requests/mergeability_check_service.rb4
-rw-r--r--app/services/merge_requests/squash_service.rb17
3 files changed, 7 insertions, 22 deletions
diff --git a/app/services/merge_requests/merge_to_ref_service.rb b/app/services/merge_requests/merge_to_ref_service.rb
index eda652c4b9a..8519cbac3cb 100644
--- a/app/services/merge_requests/merge_to_ref_service.rb
+++ b/app/services/merge_requests/merge_to_ref_service.rb
@@ -13,12 +13,12 @@ module MergeRequests
class MergeToRefService < MergeRequests::MergeBaseService
extend ::Gitlab::Utils::Override
- def execute(merge_request)
+ def execute(merge_request, cache_merge_to_ref_calls = false)
@merge_request = merge_request
error_check!
- commit_id = commit
+ commit_id = commit(cache_merge_to_ref_calls)
raise_error('Conflicts detected during merge') unless commit_id
@@ -65,8 +65,8 @@ module MergeRequests
params[:allow_conflicts] || false
end
- def commit
- if Feature.enabled?(:cache_merge_to_ref_calls, project, default_enabled: false)
+ def commit(cache_merge_to_ref_calls = false)
+ if cache_merge_to_ref_calls
Rails.cache.fetch(cache_key, expires_in: 1.day) do
extracted_merge_to_ref
end
diff --git a/app/services/merge_requests/mergeability_check_service.rb b/app/services/merge_requests/mergeability_check_service.rb
index 3e294aeaa07..c3498c5ce97 100644
--- a/app/services/merge_requests/mergeability_check_service.rb
+++ b/app/services/merge_requests/mergeability_check_service.rb
@@ -157,7 +157,9 @@ module MergeRequests
def merge_to_ref
params = { allow_conflicts: Feature.enabled?(:display_merge_conflicts_in_diff, project) }
- result = MergeRequests::MergeToRefService.new(project: project, current_user: merge_request.author, params: params).execute(merge_request)
+ result = MergeRequests::MergeToRefService
+ .new(project: project, current_user: merge_request.author, params: params)
+ .execute(merge_request, true)
result[:status] == :success
end
diff --git a/app/services/merge_requests/squash_service.rb b/app/services/merge_requests/squash_service.rb
index 31c49b3ae70..102f78c6a9b 100644
--- a/app/services/merge_requests/squash_service.rb
+++ b/app/services/merge_requests/squash_service.rb
@@ -2,8 +2,6 @@
module MergeRequests
class SquashService < MergeRequests::BaseService
- SquashInProgressError = Class.new(RuntimeError)
-
def execute
# If performing a squash would result in no change, then
# immediately return a success message without performing a squash
@@ -13,14 +11,7 @@ module MergeRequests
return error(s_('MergeRequests|This project does not allow squashing commits when merge requests are accepted.')) if squash_forbidden?
- if squash_in_progress?
- return error(s_('MergeRequests|Squash task canceled: another squash is already in progress.'))
- end
-
squash! || error(s_('MergeRequests|Failed to squash. Should be done manually.'))
-
- rescue SquashInProgressError
- error(s_('MergeRequests|An error occurred while checking whether another squash is in progress.'))
end
private
@@ -35,14 +26,6 @@ module MergeRequests
false
end
- def squash_in_progress?
- merge_request.squash_in_progress?
- rescue StandardError => e
- log_error(exception: e, message: 'Failed to check squash in progress')
-
- raise SquashInProgressError, e.message
- end
-
def squash_forbidden?
target_project.squash_never?
end