Github API - 比较 2 个提交 - 大型比较 - 无法获取所有更改的文件

msm*_*ada 6 github github-api

我正在使用比较两个提交 API来比较 2 个提交。

/repos/{owner}/{repo}/compare/{basecommitID}...{headcommitID}?page=1&per_page=30
Run Code Online (Sandbox Code Playgroud)

由于比较规模较大,因此包含 300 多个更改的文件。

根据比较两个提交 API,它说“要处理具有大量提交的响应,您可以使用(per_page 或 page)对结果进行分页。使用分页时,更改的文件列表仅与第 1 页一起返回,但是包括整个比较中所有更改的文件。”

但是,我在第 1 页中没有看到所有已更改的文件。第 1 页仅包含前 300 个已更改的文件。从第 2 页开始,它们不包含任何文件差异信息。

那么有没有办法使用这个API获取所有更改的文件(例如1000个更改的文件)?

Dee*_*kar 3

比较提交API 返回两次提交之间更改的文件,但在一次 API 调用中仅返回 300 个文件。

如果您使用 API 以该diff格式返回输出,那么它会返回所有已更改的文件。

例如:

  curl \
  -H "Accept: application/vnd.github.v3.diff" \  https://api.github.com/repos/<repoOwner>/<repoName>/compare/commitId...commit2
Run Code Online (Sandbox Code Playgroud)