From 94ccf869aacbe99b7ca7a40ca585a759923cb407 Mon Sep 17 00:00:00 2001
From: Patrick Wendell <pwendell@gmail.com>
Date: Sun, 9 Feb 2014 13:54:27 -0800
Subject: [PATCH] Merge pull request #569 from pwendell/merge-fixes.

Fixes bug where merges won't close associated pull request.

Previously we added "Closes #XX" in the title. Github will sometimes
linbreak the title in a way that causes this to not work. This patch
instead adds the line in the body.

This also makes the commit format more concise for merge commits.
We might consider just dropping those in the future.

Author: Patrick Wendell <pwendell@gmail.com>

Closes #569 and squashes the following commits:

732eba1 [Patrick Wendell] Fixes bug where merges won't close associated pull request.
---
 dev/merge_spark_pr.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/dev/merge_spark_pr.py b/dev/merge_spark_pr.py
index 40a02cba82..03f8fc2893 100755
--- a/dev/merge_spark_pr.py
+++ b/dev/merge_spark_pr.py
@@ -93,10 +93,11 @@ def merge_pr(pr_num, target_ref):
     '--pretty=format:%an <%ae>']).split("\n")
   distinct_authors = sorted(set(commit_authors), key=lambda x: commit_authors.count(x), reverse=True)
   primary_author = distinct_authors[0]
-  commits = run_cmd(['git', 'log', 'HEAD..%s' % pr_branch_name]).split("\n\n")
+  commits = run_cmd(['git', 'log', 'HEAD..%s' % pr_branch_name, 
+    '--pretty=format:%h [%an] %s']).split("\n\n")
 
-  merge_message = "Merge pull request #%s from %s. Closes #%s.\n\n%s\n\n%s" % (
-    pr_num, pr_repo_desc, pr_num, title, body)
+  merge_message = "Merge pull request #%s from %s.\n\n%s\n\n%s" % (
+    pr_num, pr_repo_desc, title, body)
   merge_message_parts = merge_message.split("\n\n")
   merge_message_flags = []
 
@@ -104,7 +105,8 @@ def merge_pr(pr_num, target_ref):
     merge_message_flags = merge_message_flags + ["-m", p]
   authors = "\n".join(["Author: %s" % a for a in distinct_authors])
   merge_message_flags = merge_message_flags + ["-m", authors]
-  merge_message_flags = merge_message_flags + ["-m", "== Merge branch commits =="]
+  merge_message_flags = merge_message_flags + [
+    "-m", "Closes #%s and squashes the following commits:" % pr_num]
   for c in commits:
     merge_message_flags = merge_message_flags + ["-m", c]
 
-- 
GitLab