From 4a31c6778decb3ea251b0943f1c8ebda0ad98800 Mon Sep 17 00:00:00 2001 From: Akos Gyimesi Date: Thu, 18 Jan 2018 00:12:08 +0100 Subject: Link to conflicting MR in reopening error message Also, the error message became shorter. --- app/controllers/projects/merge_requests_controller.rb | 11 ++++++++--- app/models/merge_request.rb | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 9781d159540..ae30199f2fa 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -7,6 +7,7 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo include RendersCommits include ToggleAwardEmoji include IssuableCollections + include MarkupHelper skip_before_action :merge_request, only: [:index, :bulk_update] before_action :whitelist_query_limiting, only: [:assign_related_issues, :update] @@ -122,9 +123,7 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo respond_to do |format| format.html do - if merge_request_params[:state_event] && @merge_request.errors.any? - flash[:alert] = @merge_request.errors.values.flatten.to_sentence - end + check_branch_conflict if @merge_request.valid? redirect_to([@merge_request.target_project.namespace.becomes(Namespace), @merge_request.target_project, @merge_request]) @@ -259,6 +258,12 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo @merge_request.check_if_can_be_merged end + def check_branch_conflict + if @merge_request.errors[:validate_branches] + flash[:alert] = markdown(@merge_request.errors[:validate_branches].to_sentence, pipeline: :single_line) + end + end + def merge! # Disable the CI check if merge_when_pipeline_succeeds is enabled since we have # to wait until CI completes to know diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index b50cfa639e0..975dea08cee 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -547,7 +547,7 @@ class MergeRequest < ActiveRecord::Base similar_mrs = similar_mrs.where('id not in (?)', self.id) if self.id if similar_mrs.any? errors.add :validate_branches, - "Cannot open this Merge Request because another open Merge Request already exists for this source branch: #{similar_mrs.first.title}" + "Another open Merge Request already exists for this source branch: !#{similar_mrs.first.id}" end end end -- cgit v1.2.3