【发布时间】:2013-02-12 07:54:56
【问题描述】:
Github API (v3) 允许您获取拉取请求列表,并获取有关单个拉取请求的更多详细信息。我似乎找不到的是拉取请求来自的分支的名称以及拉取请求建议将代码合并到的分支。
使用 Github API 如何确定拉取请求中涉及的分支?
【问题讨论】:
标签: github github-api
Github API (v3) 允许您获取拉取请求列表,并获取有关单个拉取请求的更多详细信息。我似乎找不到的是拉取请求来自的分支的名称以及拉取请求建议将代码合并到的分支。
使用 Github API 如何确定拉取请求中涉及的分支?
【问题讨论】:
标签: github github-api
访问拉取请求 URL。我们以 https://api.github.com/repos/github/gitignore/pulls/566 为例。
解析 JSON 对象。
一个拉取请求引用两个分支。 base 分支是合并目标。通常这是存储库的master 分支。
base.label是github:master,这意味着它是 >github/gitignore的master分支。base.ref是分支名称“master”。base.sha是该分支的当前 SHA。
head 分支是您要合并到 base 中的分支。
head.label是fidelski:add-obvious-autotools-files,这意味着它是fidelski/gitignore的add-obvious-autotools-files分支。head.ref是分支名称add-obvious-autotools-files。head.sha是该分支的当前 SHA。
【讨论】:
base.sha 可以是基分支上的提交,它比git merge-base 新,但比该分支的当前负责人早一天,即使是比这更长的时间没有被触及的公关。也许它会定期更新到基本分支头,然后缓存一段时间?
base.sha 不可信。如果您正在做任何依赖于基本分支当前 sha 的事情,请直接获取。