6

http://github.com/plonehttp://github.com/collectiveで 2012 年のコミットを数えたいと思います

これを行うためのツールはありますか? Github 組織に統計を提供しますか?

リポジトリをスクレイピングし、それらを個別にチェックアウトし、コミットをカウントするには、独自のスクリプトを作成する必要がありますか?

4

1 に答える 1

3

これが私がそれを行う方法です:

  • GitHub API を使用してリポジトリを列挙します (例については、Plone の JSON を参照してください)。JSON の結果をループし、次のそれぞれを使用します。
    • ;でリポジトリ ( git_urlURL) をチェックアウトします。git clone --baregit 情報のみで、作業コピーはありません。たとえば、クローンを作成した場合、これにより<repository_name>.git>ディレクトリが作成されます。plone.event.gitgit://github.com/plone/plone.event.git
    • git --git-dir=<git_directory> rev-list HEAD --count;でリビジョンを数えます。カウントを標準出力に出力するので、subprocess.check_output()うまくいくはずです。
    • .gitディレクトリを再度削除します

これには 2 つの API 呼び出ししか必要ないため、レート制限を回避できます。API を使用してすべてのコミットをページングすると、すべてのリポジトリ コミットをカウントするにはあまりにも多くのリクエストが必要になります。

于 2013-04-23T08:58:40.070 に答える