使用github在PHP脚本中实现自动版本自检和更新

时间:2012-02-15 12:55:09

标签: php git github

既然我已经完成的a small RSS-reading CMS代码托管在github上,我希望

  • 自动检查主分支中是否有更新版本的
  • 允许用户更新所述脚本,即它将使用较新版本覆盖自身

2 个答案:

答案 0 :(得分:3)

以下是what I came up with(感谢cillosis的答案)

$commits = json_decode(file_get_contents("https://api.github.com/repos/user_name/repository_name/commits"));

$current_commit_minus1 = $commits[1]->sha;
$ref_commit = "57b75c0f8aefa5ce87c1270265cace18a2347594";

if (!strcmp($current_commit_minus1, $ref_commit))
    $moved = true;
  else
    $moved = false;

这样我就不必维护标签,只需比较提交。

答案 1 :(得分:2)

应该可以在脚本中维护当前版本号,然后使用Repositories API将其与存储库进行比较。

您可以像这样使用CURL获取repo标签(替换:user和:repo与您的东西):

curl http://github.com/api/v2/json/repos/show/:user/:repo/tags

您可以显示这样的分支:

curl http://github.com/api/v2/json/repos/show/:user/:repo/branches

该API还有很多其他信息。

一旦你得到它,将它与当前进行比较并继续进行更新。