From 6ee0ad8fba660b48ef32dfa2f015b59cd5353a6e Mon Sep 17 00:00:00 2001 From: Andrew Ash Date: Wed, 12 Feb 2014 23:23:06 -0800 Subject: [PATCH] SPARK-1073 Keep GitHub pull request title as commit summary The first line of a git commit message is the line that's used with many git tools as the most concise textual description of that message. The most common use that I see is in the short log, which is a one line per commit log of recent commits. This commit moves the line Merge pull request #%s from %s. Lower into the message to reserve the first line of the resulting commit for the much more important pull request title. http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html Author: Andrew Ash Closes #574 from ash211/gh-pr-merge-title and squashes the following commits: b240823 [Andrew Ash] More merge_message improvements d2986db [Andrew Ash] Keep GitHub pull request title as commit summary --- dev/merge_spark_pr.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/dev/merge_spark_pr.py b/dev/merge_spark_pr.py index 03f8fc28938e8..93621c96daf2d 100755 --- a/dev/merge_spark_pr.py +++ b/dev/merge_spark_pr.py @@ -96,19 +96,20 @@ def merge_pr(pr_num, target_ref): 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.\n\n%s\n\n%s" % ( - pr_num, pr_repo_desc, title, body) - merge_message_parts = merge_message.split("\n\n") merge_message_flags = [] - for p in merge_message_parts: - merge_message_flags = merge_message_flags + ["-m", p] + for p in [title, body]: + 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", "Closes #%s and squashes the following commits:" % pr_num] + + merge_message_flags += ["-m", authors] + + # The string "Closes #%s" string is required for GitHub to correctly close the PR + merge_message_flags += ["-m", + "Closes #%s from %s and squashes the following commits:" % (pr_num, pr_repo_desc)] for c in commits: - merge_message_flags = merge_message_flags + ["-m", c] + merge_message_flags += ["-m", c] run_cmd(['git', 'commit', '--author="%s"' % primary_author] + merge_message_flags)