确定fork是否准备就绪

时间:2015-11-12 08:09:48

标签: github github-api

来自https://developer.github.com/v3/repos/forks/

的文档
Forking a Repository happens asynchronously. Therefore, you may have to 
wait a short period before accessing the git objects. If this takes longer than 
5 minutes, be sure to contact Support.

有没有办法检查叉子是否完成?

我考虑过访问forked repo中的单个文件,但是我没有足够大的repo(实际上需要很长时间才能进行分析)来测试它。

1 个答案:

答案 0 :(得分:4)

您也可以通过GitHub支持,所以我会在此处粘贴我的答案。

这是一个很好的问题。通常,分叉应在几秒钟内完成,但对于较大的存储库可能需要一段时间。知道何时完成分叉(通过API)的一种方法是获取fork的提交列表:

https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository

如果还没有完成分叉,你应该回复409这条消息:

HTTP/1.1 409 Conflict

{
  "message": "Git Repository is empty.",
  "documentation_url": "https://developer.github.com/v3"
}

当分叉完成后,您将获得200 OK以及提交列表。