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:
authorDouwe Maan <douwe@gitlab.com>2018-05-24 11:49:54 +0300
committerDouwe Maan <douwe@gitlab.com>2018-05-24 11:49:54 +0300
commite97a87433b2f55b2f688771cbe47d627f49d4b44 (patch)
tree68b698985cca79d2d9b1351ec186b356e5e3bec2 /app/presenters
parent56d2d462271da802a0126fa588f7ae76ae18f09f (diff)
parent13aa6f6740118743e47f24f01aa54fed30079f4d (diff)
Merge branch 'mr-conflict-notification' into 'master'
MR unmergeable notification See merge request gitlab-org/gitlab-ce!18042
Diffstat (limited to 'app/presenters')
-rw-r--r--app/presenters/merge_request_presenter.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/presenters/merge_request_presenter.rb b/app/presenters/merge_request_presenter.rb
index 4b4132af2d0..ad839d9840a 100644
--- a/app/presenters/merge_request_presenter.rb
+++ b/app/presenters/merge_request_presenter.rb
@@ -20,6 +20,17 @@ class MergeRequestPresenter < Gitlab::View::Presenter::Delegated
end
end
+ def unmergeable_reasons
+ strong_memoize(:unmergeable_reasons) do
+ reasons = []
+ reasons << "no commits" if merge_request.has_no_commits?
+ reasons << "source branch is missing" unless merge_request.source_branch_exists?
+ reasons << "target branch is missing" unless merge_request.target_branch_exists?
+ reasons << "has merge conflicts" unless merge_request.project.repository.can_be_merged?(merge_request.diff_head_sha, merge_request.target_branch)
+ reasons
+ end
+ end
+
def cancel_merge_when_pipeline_succeeds_path
if can_cancel_merge_when_pipeline_succeeds?(current_user)
cancel_merge_when_pipeline_succeeds_project_merge_request_path(project, merge_request)