按唯一用户过滤提交

Filter commits by a unique user

我正在使用 GitHub API v3。我想将存储库中的提交过滤为特定作者提交的提交。我使用以下 API 来做到这一点。虽然它并不总是有效。

https://api.github.com/repos/:owner/:repo/commits?author=:author&page=1&per_page=100

例如下面的

https://api.github.com/repos/mtreinish/linux/commits?author=mtreinish&page=1&per_page=100

在这种情况下,returns 结果如下。

{
  "message": "Server Error",
  "documentation_url": "https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository"
}

你能帮我解决这个问题吗

您的请求从 GitHub 收到 500 内部服务器错误。这意味着服务器遇到某种错误,无法处理您的请求。

在这种特殊情况下,您遇到的似乎是超时:也就是说,您的请求无法在合理的时间内得到满足,因为历史记录太大并且该作者的提交不是足够普遍,它可以提供所需数量的答案。 GitHub 受限于历史遍历是单线程操作,Git 只能做到这么快。

您可以联系 GitHub 支持并询问他们是否可以做任何事情,但实际上,您最好克隆存储库并使用 git 命令行工具。

PyDriller 是可以处理此问题的最佳方法之一。我使用它并解决了问题。