summaryrefslogtreecommitdiff
path: root/grpc/tools/release/release_notes.py
diff options
context:
space:
mode:
Diffstat (limited to 'grpc/tools/release/release_notes.py')
-rw-r--r--grpc/tools/release/release_notes.py26
1 files changed, 17 insertions, 9 deletions
diff --git a/grpc/tools/release/release_notes.py b/grpc/tools/release/release_notes.py
index 511c93e3..f2af8ed0 100644
--- a/grpc/tools/release/release_notes.py
+++ b/grpc/tools/release/release_notes.py
@@ -83,15 +83,15 @@ API_URL = 'https://api.github.com/repos/grpc/grpc/pulls/'
def get_commit_log(prevRelLabel, relBranch):
- """Return the output of 'git log --pretty=online --merges prevRelLabel..relBranch' """
+ """Return the output of 'git log prevRelLabel..relBranch' """
import subprocess
- print("Running git log --pretty=oneline --merges " + prevRelLabel + ".." +
- relBranch)
- return subprocess.check_output([
- "git", "log", "--pretty=oneline", "--merges",
+ glg_command = [
+ "git", "log", "--pretty=oneline", "--committer=GitHub",
"%s..%s" % (prevRelLabel, relBranch)
- ])
+ ]
+ print("Running ", " ".join(glg_command))
+ return subprocess.check_output(glg_command)
def get_pr_data(pr_num):
@@ -120,11 +120,19 @@ def get_pr_data(pr_num):
def get_pr_titles(gitLogs):
import re
error_count = 0
- match = b"Merge pull request #(\d+)"
- prlist = re.findall(match, gitLogs, re.MULTILINE)
+ # PRs with merge commits
+ match_merge_pr = b"Merge pull request #(\d+)"
+ prlist_merge_pr = re.findall(match_merge_pr, gitLogs, re.MULTILINE)
print("\nPRs matching 'Merge pull request #<num>':")
- print(prlist)
+ print(prlist_merge_pr)
print("\n")
+ # PRs using Github's squash & merge feature
+ match_sq = b"\(#(\d+)\)$"
+ prlist_sq = re.findall(match_sq, gitLogs, re.MULTILINE)
+ print("\nPRs matching '[PR Description](#<num>)$'")
+ print(prlist_sq)
+ print("\n")
+ prlist = prlist_merge_pr + prlist_sq
langs_pr = defaultdict(list)
for pr_num in prlist:
pr_num = str(pr_num)