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
path: root/app
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2018-07-02 15:50:26 +0300
committerSean McGivern <sean@mcgivern.me.uk>2018-07-02 15:50:26 +0300
commite7a5a3151492c0bc6b1a262e5caffd66bd25674c (patch)
treeb33a271d7a8b4ffe0120da68e01feffa6f461d31 /app
parent601eb8df30c5d84236fee190caa6fd72b1c37cb3 (diff)
parentd907b894bed848e5c60f101a3cd3172df35dd27a (diff)
Merge branch '48653-mr-target-branch-missing' into 'master'
Fix notify_conflict? raising exception due to absent branches Closes #48653 See merge request gitlab-org/gitlab-ce!20280
Diffstat (limited to 'app')
-rw-r--r--app/models/merge_request.rb20
1 files changed, 11 insertions, 9 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 6c96c8ca391..b4090fd8baf 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -128,14 +128,9 @@ class MergeRequest < ActiveRecord::Base
end
after_transition unchecked: :cannot_be_merged do |merge_request, transition|
- begin
- if merge_request.notify_conflict?
- NotificationService.new.merge_request_unmergeable(merge_request)
- TodoService.new.merge_request_became_unmergeable(merge_request)
- end
- rescue Gitlab::Git::CommandError
- # Checking mergeability can trigger exception, e.g. non-utf8
- # We ignore this type of errors.
+ if merge_request.notify_conflict?
+ NotificationService.new.merge_request_unmergeable(merge_request)
+ TodoService.new.merge_request_became_unmergeable(merge_request)
end
end
@@ -707,7 +702,14 @@ class MergeRequest < ActiveRecord::Base
end
def notify_conflict?
- (opened? || locked?) && !project.repository.can_be_merged?(diff_head_sha, target_branch)
+ (opened? || locked?) &&
+ has_commits? &&
+ !branch_missing? &&
+ !project.repository.can_be_merged?(diff_head_sha, target_branch)
+ rescue Gitlab::Git::CommandError
+ # Checking mergeability can trigger exception, e.g. non-utf8
+ # We ignore this type of errors.
+ false
end
def related_notes