From 603ef5d49ed453cbb47b68d3af078529c6b834a1 Mon Sep 17 00:00:00 2001
From: Gabriel Gizotti <gabriel@gizotti.com>
Date: Mon, 5 Dec 2016 21:29:17 +1000
Subject: [PATCH] Show either description or closes issues references on
 MergeRequest#merge_commit_message so closes issues references are not
 duplicated

---
 app/models/merge_request.rb                        | 14 ++++++++------
 .../projects/merge_requests/widget/_open.html.haml |  8 +++-----
 spec/models/merge_request_spec.rb                  |  2 +-
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 48c30b08502..da293c3738f 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -633,18 +633,20 @@ class MergeRequest < ActiveRecord::Base
       issue.to_reference(target_project)
     end
 
-    message = "Merge branch '#{source_branch}' into '#{target_branch}'\n\n"
-    message << "#{title}\n\n"
+    message = [
+      "Merge branch '#{source_branch}' into '#{target_branch}'",
+      title
+    ]
 
-    if closes_issues_references.present?
+    if !include_description && closes_issues_references.present?
       issue_text = 'issue'.pluralize(closes_issues_references.size)
-      message << "Closes #{issue_text} #{closes_issues_references.to_sentence}\n\n"
+      message << "Closes #{issue_text} #{closes_issues_references.to_sentence}"
     end
 
-    message << "#{description}\n\n" if include_description && description.present?
+    message << "#{description}" if include_description && description.present?
     message << "See merge request #{to_reference}"
 
-    message
+    message.join("\n\n")
   end
 
   def reset_merge_when_build_succeeds
diff --git a/app/views/projects/merge_requests/widget/_open.html.haml b/app/views/projects/merge_requests/widget/_open.html.haml
index 695359a48a3..f4aa1609a1b 100644
--- a/app/views/projects/merge_requests/widget/_open.html.haml
+++ b/app/views/projects/merge_requests/widget/_open.html.haml
@@ -30,7 +30,7 @@
     - elsif @merge_request.can_be_merged? || resolved_conflicts
       = render 'projects/merge_requests/widget/open/accept'
 
-  - if mr_closes_issues.present? || mr_issues_mentioned_but_not_closing
+  - if mr_closes_issues.present? || mr_issues_mentioned_but_not_closing.present?
     .mr-widget-footer
       %span
         = icon('check')
@@ -41,9 +41,7 @@
           = mr_assign_issues_link
         - if mr_issues_mentioned_but_not_closing.present?
           #{"Issue".pluralize(mr_issues_mentioned_but_not_closing.size)}
-          = succeed '' do
-            != markdown issues_sentence(mr_issues_mentioned_but_not_closing), pipeline: :gfm, author: @merge_request.author
-          = succeed '' do
-            mentioned but will not closed.
+          != markdown issues_sentence(mr_issues_mentioned_but_not_closing), pipeline: :gfm, author: @merge_request.author
+          #{mr_issues_mentioned_but_not_closing.size > 1 ? 'are' : 'is'} mentioned but will not closed.
          
 
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index f74c89bba4d..1e9790cf644 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -425,7 +425,7 @@ describe MergeRequest, models: true do
         and_return(subject.target_branch)
 
       expect(subject.merge_commit_message)
-        .to match("Closed Issues: #{issue.to_reference}")
+        .to match("Closes issue #{issue.to_reference}")
     end
 
     it 'includes its reference in the body' do
-- 
GitLab