作者アバター
コミット一覧は名前の壁で、名前を読むのは時間がかかります。それぞれの横に絵があれば、「これを書 いたのは誰か」は一目で答えられる問いになります。Gitcito は表示するすべての作者に絵を付けます。 グラフの作者列、コミット詳細の作者と各共著者の横、コミット作成中の共著者ピッカー、プロフィール 切り替え、そして設定の各プロフィールの隣です。
絵はどこから来るのか
2 つの出どころを、この順に試します。
| 出どころ | 使われるとき |
|---|---|
| Gravatar | コミットのメールアドレスに Gravatar アカウントがある。小文字化したアドレスの SHA-256 ハッシュを使い、HTTPS で取得します。 |
| 生成アバター | それ以外すべて — Gravatar がない、ネットワークがない、または照会をオフにしている。メールアドレスからローカルに描画し、取得は一切しません。 |
生成アバターは色の付いた四角ではなく、小さな生き物です。同じメールアドレスからは常に同じ形と同 じ色が生まれるので、リポジトリをまたいでも再起動をまたいでも作者は見分けがつきます。異なるアド レスが衝突することは実質ありません。描画は blobatar(MIT)で、ネットワークは一切不要です。Gravatar を持たない作者ばかりのリポジトリでも、最初の描画から、オフラインで、見分けのつく顔がひととおり そろいます。
種となるのはコミットのメールアドレスなので、2 つのアドレスでコミットする作者にはアバターが
2 つできます。これは意図したもので、グラフの作者列が示す手がかりと同じであり、マシンアカウント
や user.email の設定ミスにたいていこれで気づきます。2 つのアドレスが本当に同一人物なら、
作者属性で直してください。
タイトルバーの表情
プロフィール名の隣のアバターは、Gitcito のなかでこのリポジトリにおける、いまのあなたを表す 唯一のアバターです。だからリポジトリの状態に反応するのもこれだけです。何か起きていれば表情を変 え、そうでなければふつうの顔のままです。
![]()
反応する対象は、悪いものから順に、コンフリクトしたまま残ったファイル、git に終わらせ方を 伝えないまま放置されたマージ・リベース・チェリーピック・リバート、detached HEAD(下に未 コミットの作業があれば警戒、なければ戸惑うだけ)、未プッシュあるいは未取得のまま積み上が るコミット、未コミットのまま積み上がる変更、誰も開かないスタッシュの引き出し、そして 1 か 月なにも入っていないリポジトリです。
いちばん悪いものが勝ちます。コンフリクトがありなおかつ未プッシュのコミットが 40 件あるリポジ トリが浮かべるのはコンフリクトの表情です。アバターにポインタを重ねると、何が表情の原因かをツー ルチップが正確に示します。理由の示されないまま変わる絵は手がかりではなく謎かけです。読むのは ツールチップで、表情はそこを見させるためのものです。
しきい値はあえて高くしてあります。未プッシュのコミット 1 件で気を揉む顔は永久に気を揉んだまま で、常時出ている合図は読まなくなる合図です。upstream のないブランチは満足ではなくふつうのまま です。「同期している」は、誰もプッシュしていないブランチについては言えない主張だからです。
これは装飾であって計測ではありません。 本当の件数はステータスバーが持っており、信頼すべきは そちらです。表情は一目で何か起きていると言うだけです。
動き
タイトルバーのアバターは自分で呼吸してまばたきします。 設定 → テーマ → グラフ → プロフィールアバターをアニメーションさせるでオフにできます。表情は そのままリポジトリに追従し、動かなくなるだけです。システムが動きの抑制を求めている場合も、動き は自動的に省かれます。
アニメーションするのはこの 1 つだけです。動くアバターはキャッシュ画像ではなく生きた SVG として 描く必要があり、1 つなら妥当でも、スクロールするグラフが描く数百個には無駄が大きすぎます。
照会をオフにする
設定 → テーマ → グラフ → アバターを表示。
オフの意味は次のとおりです。
gravatar.comへのリクエストは一切なし。遅延送信もキャッシュ後の再試行もなし。- アバターはそのまま表示され、すべてローカル生成になります。
つまりこれはプライバシーのスイッチで、「絵を隠す」設定ではありません。アバターを完全に消す設定 はありません。
限界
- Gravatar への照会は、そのアドレスが見られたことを gravatar.com に伝えます。 ハッシュは秘 密ではありません。候補となるアドレスを持つ人は、それをハッシュ化して照合できます。リポジトリ の作者一覧を第三者に渡したくないなら、開く前に照会をオフにしてください。
- Gravatar のみ。 GitHub・GitLab・Bitbucket にアップロードしたアバターは読みません。作者ご とに認証付きのホスト API 呼び出しが必要で、飾りのために使うネットワークとしては多すぎます。
- 上書きはできません。 作者に好きな画像を固定することも、生成スタイルを差し替えることもでき ません。アバターはメールアドレスだけの関数です。
- Gravatar の写真に表情はありません。 プロフィールのメールアドレスに写真があれば、タイトル バーは写真を表示し、表情は出しません。写真はあなたに顔をつくれません。表情のあるブロブがよけ れば照会をオフにしてください。
- 表情が追うのはアクティブなリポジトリだけです。 リポジトリではないタブでは反応する対象がな いので、ふつうの顔のままです。
- 一度にひとつの読み取り。 表情が示すのは見つかったなかで最悪のものひとつだけです。リ ポジトリは何通りにも散らかっていながら、ひとつの表情しか浮かべません。状態の一覧では ありません。それはステータスバーとツールチップの仕事です。
- 小さいものは小さい。 グラフの作者列ではアバターは 16px で、色とシルエットは伝わりますが細 部は伝わりません。コミット詳細は作者を 38px で描き、顔が本当に見えるのはそこです。