【问题标题】:GITHub API Issue with file upload文件上传的 GITHub API 问题
【发布时间】:2013-11-03 18:57:53
【问题描述】:

我正在尝试通过 GITHub API (http://developer.github.com/v3/repos/contents/) 将文件上传到 GitHub。不知何故,我无法上传文件。当我尝试上传现有文件时,它给了我消息 "{\"message\":\"refs/heads/master 预计在 ee1cd720841a4b5b06a8339c333c56b1748e66f9\",\"documentation_url\":\"http://developer.github.com/v3/repos/contents/\"}"。当我去 github 并尝试使用网站删除文件时,它给了我以下错误。我可以通过将头重置到以前的版本来解决问题并继续前进。但我试图了解导致这种行为的原因以及将来如何防止这种行为。 Google 和 Github Help 都无法回答我,所以从社区中寻找一些东西。感谢您调查它。

【问题讨论】:

  • 您是否偶然使用存储库 API 快速连续写入存储库?例如,您是否通过在之前的调用完成之前进行新的 API 调用来创建多个文件?
  • 感谢伊万的回复!你的假设是对的。作为部署过程的一部分,我正在尝试连续创建多个文件。在旁注中,虽然我正在进行同步上传,所以一旦我收到来自 GiHub API ok 200 OK 的响应,我就会发出另一个创建/更新下一个文件的请求。
  • 我猜你在使用 API 时遇到了一个极端情况,因为这些顺序写入一个接一个地发生。您能否尝试在脚本中设置睡眠,以便在两次通话之间等待一两秒钟?那应该可以解决问题。我们正在努力解决这个问题,但我不能就何时解决这个问题做出任何承诺。如果这没有帮助,请告诉我。
  • 谢谢伊万!!在你的第一条评论之后,我也做了同样的事情。我正在让线程休眠 500 毫秒并继续相同。它工作得很好。谢谢提示!!我只是想好奇,当我使用 API 发出 http 请求时,它实际上是在你端排队任务然后提交更改?这是我的猜测,但您可以确认。
  • 我不确定,确切地说——涉及很多东西/层,我不熟悉所有细节(包括缓存,这总是会导致有趣的问题)。很高兴听到您设法解决了这个问题! :)

标签: git github github-api


【解决方案1】:

正如 Ivan 所建议的,如果我们尝试使用 API 快速连续创建/更新文件,则会导致上述行为。在问题得到解决之前,我们可以通过在两个请求之间使线程休眠来解决这个问题。我希望它会对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2020-12-29
    • 2017-01-11
    • 1970-01-01
    • 2019-10-29
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多