【问题标题】:Github API - compare 2 commits - large comparison - can't get all changed FilesGithub API - 比较 2 个提交 - 大比较 - 无法获取所有更改的文件
【发布时间】:2021-07-13 01:31:15
【问题描述】:

我正在使用 Compare two commits API 来比较 2 个提交。

/repos/{owner}/{repo}/compare/{basecommitID}...{headcommitID}?page=1&per_page=30

而且由于比较大,它包含了 300 多个更改的文件。

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

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

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

【问题讨论】:

  • 你是怎么解决这个问题的?
  • 我决定不使用API​​,而是使用Git.exe来制作。

标签: github github-api


【解决方案1】:

compare-commits API 返回两次提交之间更改的文件,但在一次 API 调用中只返回 300 个文件。

如果您使用 API 以 diff 格式返回输出,则返回所有更改的文件。

例如:

  curl \
  -H "Accept: application/vnd.github.v3.diff" \  https://api.github.com/repos/<repoOwner>/<repoName>/compare/commitId...commit2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-29
    • 2013-01-03
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    • 2019-01-19
    相关资源
    最近更新 更多