0

ライブラリ「github-java-sdk」を介してGitHubのAPIを使用しようとしています。1つのリポジトリの最新の100人のコミッターを特定したいと思います。

たとえば、次のコマンドを実行して戻りデータを分析すると、http: //github.com/tinoucas/dwm-tinou/network_data_chunk? 748b1c901dc01fd14c4f8a1f8985525612683295

一部のコミットには「ログイン」フィールドが割り当てられていないことに気づきました。なぜ空なのか教えていただけますか?ログインプロパティが割り当てられていないコミッターを特定するにはどうすればよいですか?

4

1 に答える 1

0

このリポジトリのクローンを作成し、疑わしいコミットの 1 つのヘッダーを出力すると、AuthorおよびCommitterフィールド内に非常に奇妙な電子メール情報があることに気付くでしょう。

$ git show 7c3efbad3d540d34726340bf727889d87b5376e4 --format=raw
commit 7c3efbad3d540d34726340bf727889d87b5376e4
tree a99909e793befcccb9f8b9f5aff3a789148ee9da
parent c4e62ae697937477a1b847e5a9a4caa906d0b130
author tinou <tinou@polter.(none)> 1234738874 +0100
committer tinou <tinou@polter.(none)> 1234738874 +0100

これを親コミットに含まれる情報と比較すると、メールは異なります

$ git show c4e62ae697937477a1b847e5a9a4caa906d0b130 --format=raw
commit c4e62ae697937477a1b847e5a9a4caa906d0b130
tree 61679418f1fe1acfe53440cb91092bb16f64c14a
parent e0bb39e6de991417ea2c55ebea17378d58480476
author tinou <tinoucas@gmail.com> 1231278215 +0100
committer tinou <tinoucas@gmail.com> 1231278215 +0100

GitHub Web インターフェイスを使用してこれら 2 つのコミットを表示すると、

  • 最初のものは、作者としてプレーンな「tinou」を表示します
  • 2 つ目は、強化されたクリック可能な「tinoucas」の作成者情報とそのグラバターを表示します。

私の推測では、GitHub はコミットからの電子メール アドレスを使用して、一致する GitHub ログインを取得していると思います。メールアドレスが難読化されているか、一致しない場合、API を介してログイン情報を送信できません。

于 2011-12-20T06:06:44.930 に答える