2013-05-13 19 views
6

私はGitハブリポジトリで動作する自動化サービスに取り組んでいます。そして私は私の側で問題を抱えている - 私は、そのハッシュ\名前で特定のブランチですべてのコミットを得る方法を見つけることができません。ブランチ名 idでgitをコミットします。git apiで

マイコードは、コードレビューを行うための自動化されたツールです。そこで、私のレビュープロセスで特定のブランチを無視する機能を追加しました(例えば、テストブランチなど)。だから私のサービスでは、私はブランチを無視してマークしています。 git hub apiからコミットを取得すると、現在のコミットが属するブランチについての情報はありません。

私は私の全体のgithubのアイデアが間違っていることを考え始めた - だから私の質問があるGetCommits方法

でそれを無視するAPIの開発者を作った何かがあるはずですので、コミット分岐をリンクするのですることはかなり明白である事を - gitub api(v3 - GET/repos /:owner /:repo/commit /:sha)にどのブランチコミット(v3 api jsonの結果を使用)が属しているかを調べる方法はありますか?

おかげ

+2

GitHubからどのようにコミットしていますか?リポジトリフック(http://developer.github.com/v3/repos/hooks/)を使用しているのか、手動でコミットを取得していますか(http://developer.github.com/v3/repos/commits/)?フックを使用している場合は、どのブランチにプッシュされたかが通知されます(http://developer.github.com/v3/activity/events/types/#pushevent)。 –

+0

私は実際に両方を使用しています。最初に、私はコミットが追加されたことを知らせ、次にデータを取得するために秒を使用します。とにかくありがとう - 私はその情報を使用しようとします。 – chaZm

+0

私はブランチ内のすべてのコミットを取得する必要があります - プッシュの最後のコミットではありません。だから私は、すべてのコミットをブランチで取得する方法、またはすべてのコメントのリストでブランチを見つける方法のいずれかが必要です – chaZm

答えて

9

コミットは、特定のブランチの歴史の中であるかどうか尋ねるためにはGitHubのAPIでの方法はありません。あなたができる唯一のことは、特定のブランチのすべてのコミットをフェッチしてから、コミットを繰り返して、特定のコミットがリストにあるかどうかを確認することです。これを行うには、/repos/:owner/:repo/commits?sha=branchnameへのリクエストを行います。ここで、branchnameはコミットをフェッチするブランチの名前です。 https://api.github.com/repos/izuzak/pmrpc/commits?sha=master

+2

また、 @chaZmがこれらのリストにETag情報を格納して、次のパスですでに見たことのないコミットを受け取ることができるようにします(すでに古い情報をどこかに保存していることを前提にしています)。 –

関連する問題