Skip to content
Snippets Groups Projects
Commit 94ccf869 authored by Patrick Wendell's avatar Patrick Wendell Committed by Reynold Xin
Browse files

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.
parent b69f8b2a
No related branches found
No related tags found
No related merge requests found
...@@ -93,10 +93,11 @@ def merge_pr(pr_num, target_ref): ...@@ -93,10 +93,11 @@ def merge_pr(pr_num, target_ref):
'--pretty=format:%an <%ae>']).split("\n") '--pretty=format:%an <%ae>']).split("\n")
distinct_authors = sorted(set(commit_authors), key=lambda x: commit_authors.count(x), reverse=True) distinct_authors = sorted(set(commit_authors), key=lambda x: commit_authors.count(x), reverse=True)
primary_author = distinct_authors[0] 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" % ( merge_message = "Merge pull request #%s from %s.\n\n%s\n\n%s" % (
pr_num, pr_repo_desc, pr_num, title, body) pr_num, pr_repo_desc, title, body)
merge_message_parts = merge_message.split("\n\n") merge_message_parts = merge_message.split("\n\n")
merge_message_flags = [] merge_message_flags = []
...@@ -104,7 +105,8 @@ def merge_pr(pr_num, target_ref): ...@@ -104,7 +105,8 @@ def merge_pr(pr_num, target_ref):
merge_message_flags = merge_message_flags + ["-m", p] merge_message_flags = merge_message_flags + ["-m", p]
authors = "\n".join(["Author: %s" % a for a in distinct_authors]) 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", 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: for c in commits:
merge_message_flags = merge_message_flags + ["-m", c] merge_message_flags = merge_message_flags + ["-m", c]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment