我正在尝试识别自上次发布以来发生的所有合并的拉取请求。发布总是有一个标记,因此逻辑是查找创建该标记后发生的任何拉取请求。
显然,pullrequest API不允许通过标签进行过滤,甚至不允许提交标签。
我想,如果我找到一种方法来查询在特定标记之后发生的所有提交,我可能会检测到是哪些拉请求产生了它们(我不在乎直接推送(。
详细信息:
- 提交(…(
- pull_requests(…(——按照创建的相反顺序获取它们,这是完美的,但似乎永远不会停止,显然提到
head=mytag
并没有达到使其及时停止的预期效果
为了能够生成一些草稿发布节点,我需要的所有数据都是合并的PR列表。
我最终使用gitpython执行了一个本地查询,该查询返回了提交。示例位于https://github.com/pycontribs/tender/blob/master/tender/__main__.py#L133-L145,但主代码看起来像
rev = f"{tag}..HEAD"
for commit in self.git.iter_commits(rev=rev):
result[commit.hexsha] = commit