summaryrefslogtreecommitdiff
path: root/app/models/merge_request.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r--app/models/merge_request.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 949cafc065f..f919cfe697e 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -260,7 +260,9 @@ class MergeRequest < ActiveRecord::Base
end
def mergeable?
- mergeable_state? && check_if_can_be_merged
+ return false unless mergeable_state?
+
+ check_if_can_be_merged
can_be_merged?
end
@@ -269,7 +271,7 @@ class MergeRequest < ActiveRecord::Base
return false unless open?
return false if work_in_progress?
return false if broken?
- return false if cannot_be_merged_because_build_is_not_success?
+ return false unless mergeable_ci_state?
true
end
@@ -488,10 +490,10 @@ class MergeRequest < ActiveRecord::Base
::Gitlab::GitAccess.new(user, project).can_push_to_branch?(target_branch)
end
- def cannot_be_merged_because_build_is_not_success?
- return false unless project.only_allow_merge_if_build_succeeds?
+ def mergeable_ci_state?
+ return true unless project.only_allow_merge_if_build_succeeds?
- ci_commit && !ci_commit.success?
+ !ci_commit || ci_commit.success?
end
def state_human_name