2012-02-15 6 views
0

とPHPスクリプトで自動バージョンのセルフチェックやアップデートを実装今、私がやったa small RSS-reading CMSためのコードはgithubの上でホストされていることを、私はそこにある場合、自動的にはgithubの

  • チェックにそれをたいと思います自身の新しいバージョンでは、ユーザは、それはそれは、スクリプト内で現在のバージョン番号を維持することが可能なはずである新しいバージョン
+1

あなたは何を持っているのですか? – jprofitt

+0

?私はどこから始めるべきかわかりません!どのように(私)それを行うのですか?そのためのPHP関数はありますか? そのためのgithub API関数はありますか? それは可能ですか? 私はこのページindex.phpをサーバAに持っています。 そして同じページindex.phpは、サーバBでは新しいものだけです。 serverA/index.phpにserverB/index.phpのバージョンを確認するにはどうすればよいですか? – yPhil

答えて

2

what I came up withcillosisの答えのおかげで)

$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

で自身を上書きする。すなわち、スクリプトと述べ、および更新できるようにmasterブランチ

  • にありますそれをリポジトリusiと比較するRepositories API

    あなたはこのようなCURLでレポタグを取得することができます(置き換え:ユーザーと:自分のものとのレポが):

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

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

    あなたはこのような枝を表示することができますこのAPIには他にもたくさんの情報があります。

    これを入手したら、それを現在のものと比較して更新してください。ここで

  • +0

    遅く受け入れて申し訳ありませんが、それは確かに道であるようです。 – yPhil

    +2

    私のために働いたコマンド: 'curl https:// api.github.com/repos/user_name/repository_name/tags' – yPhil