Реализовать автоматическую проверку и обновление версии в PHP-скрипте с помощью github - PullRequest
0 голосов
/ 15 февраля 2012

Теперь, когда код небольшой CMS для чтения RSS, который я сделал, размещен на github, я бы хотел

  • автоматически проверять, есть лиего более новая версия в основной ветке
  • Разрешить пользователю обновлять указанный скрипт, т.е. он будет перезаписывать себя более новой версией

Ответы [ 2 ]

4 голосов
/ 16 сентября 2013

Вот что я придумала (благодаря ответу 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;

Таким образом, мне не нужно поддерживать теги,просто сравните коммиты.

2 голосов
/ 15 февраля 2012

Должно быть возможно поддерживать текущий номер версии в скрипте, а затем сравнивать его с репозиторием с помощью Repositories API .

Вы можете получить теги репо с помощью CURL, например так (Замените: пользователь и: репо со своими вещами):

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.

Как только вы это получите, сравните ее с текущей и приступайте к обновлению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...