| 82 | |
| 83 | |
| 84 | def get_pull_requests(repo, revision_range): |
| 85 | prnums = [] |
| 86 | |
| 87 | # From regular merges |
| 88 | merges = this_repo.git.log( |
| 89 | '--oneline', '--merges', revision_range) |
| 90 | issues = re.findall(r"Merge pull request \#(\d*)", merges) |
| 91 | prnums.extend(int(s) for s in issues) |
| 92 | |
| 93 | # From Homu merges (Auto merges) |
| 94 | issues = re. findall(r"Auto merge of \#(\d*)", merges) |
| 95 | prnums.extend(int(s) for s in issues) |
| 96 | |
| 97 | # From fast forward squash-merges |
| 98 | commits = this_repo.git.log( |
| 99 | '--oneline', '--no-merges', '--first-parent', revision_range) |
| 100 | issues = re.findall(r'^.*\((\#|gh-|gh-\#)(\d+)\)$', commits, re.M) |
| 101 | prnums.extend(int(s[1]) for s in issues) |
| 102 | |
| 103 | # get PR data from github repo |
| 104 | prnums.sort() |
| 105 | prs = [repo.get_pull(n) for n in prnums] |
| 106 | return prs |
| 107 | |
| 108 | |
| 109 | def main(token, revision_range): |