summaryrefslogtreecommitdiff
path: root/app/models/merge_request.rb
diff options
context:
space:
mode:
authorJeroen Nijhof <jeroen@jeroennijhof.nl>2016-01-07 13:58:19 +0100
committerJeroen Nijhof <jeroen@jeroennijhof.nl>2016-01-07 13:58:19 +0100
commit1695063d15498ce41d3e3f62b7ec88effb9e1eca (patch)
tree5e3fd6d580c58d942f844273daae934d5f54001f /app/models/merge_request.rb
parentbde76f62fc2bd259dcc37ca649a01a84035ddcd9 (diff)
parent3b04268f6825776e12d3a7766eeb059f892765f3 (diff)
downloadgitlab-ce-1695063d15498ce41d3e3f62b7ec88effb9e1eca.tar.gz
Merge gitlab.com:gitlab-org/gitlab-ce
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r--app/models/merge_request.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index ac25d38eb63..30d0c2b5961 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -229,6 +229,8 @@ class MergeRequest < ActiveRecord::Base
end
def check_if_can_be_merged
+ return unless unchecked?
+
can_be_merged =
project.repository.can_be_merged?(source_sha, target_branch)
@@ -252,7 +254,11 @@ class MergeRequest < ActiveRecord::Base
end
def mergeable?
- open? && !work_in_progress? && can_be_merged?
+ return false unless open? && !work_in_progress?
+
+ check_if_can_be_merged
+
+ can_be_merged?
end
def gitlab_merge_status
@@ -452,6 +458,10 @@ class MergeRequest < ActiveRecord::Base
!source_branch_exists? || !target_branch_exists?
end
+ def broken?
+ self.commits.blank? || branch_missing? || cannot_be_merged?
+ end
+
def can_be_merged_by?(user)
::Gitlab::GitAccess.new(user, project).can_push_to_branch?(target_branch)
end
@@ -507,8 +517,4 @@ class MergeRequest < ActiveRecord::Base
def ci_commit
@ci_commit ||= source_project.ci_commit(last_commit.id) if last_commit && source_project
end
-
- def broken?
- self.commits.blank? || branch_missing? || cannot_be_merged?
- end
end