GitHubのLongest Streakが途切れたと思ったら仕様が変わっていたっぽい

f:id:syonx:20140317023521p:plain

GitHub Helpによるとコレは「Contributions calendar」と呼ぶみたい。

頭で考えるばかりではなく少しでも手を動かすためのモチベーションになる、とても素敵な仕組みですね。緑色が並ぶのが楽しくて、初心者ながらちょくちょく更新して遊んでいます。とはいえ普段の仕事が忙しい日もあり、帰りが遅くなるとしょーもない変更で緑色を稼いだ日もありました。すみません。でも、何もやらないのと1ミリ何かするのは違うと思うんですよね(言い訳)。

とある日に、あ!昨日更新するの忘れた…と思い出して朝見てみると、まだセーフなときがありました。そこでStreakについて調べてみると、ある記事*1で「日本では16時を境に次の日になる」という情報を発見。確かにGitHubはサンフランシスコにあって、太平洋標準時 UTC-8 で日本は UTC+9 だから時差は17時間で計算が合…わなくてあるぇ?となったけど、現在サマータイム中で太平洋夏時間(UTC-7)*2でなるほどそういうことか、となりました。

で、そんな調子で毎日更新していたら、Longest Streakが途切れてしまいました。 なんかタイミング間違っちゃったかなぁとしょんぼりしつつ緑を植える作業を再開したわけですが、さきほどこんな記事を見つけました。

僕の拙い英語力では全く信憑性に欠けますが訳してみると、

本日(March 7, 2014)、みんなの「contribution graphs」をタイムゾーンを意識したものにしました。GitHubは世界の至るところで使われていて、私たちはそれを反映したいのです。あなたが日本、オーストラリアやウランバートルで作業したのなら、私たちはあなたの視点から貢献をカウントしたいと考えています。

カウントには、コミットに含まれているタイムスタンプのタイムゾーンを使用します。ウェブ上のPull RequestやIssueは、ブラウザのタイムゾーンが使用されます。あなたがAPIを使用する場合はタイムゾーンを指定することもできます。

これによって今までのあなたの貢献を台無しにしたくないので、2014年3月10日(協定世界時)からのもののみを対象とします。

Enjoy your time(zone)!

と、いうことらしいです。僕のが途切れたのもちょうどその時だったので、そういうことだったのかと納得しました。 で、最後のは軽いジョークでしょうか。ちなみに呼び方も「graphs」になっていて、まぁ別にきっちり決まっているわけじゃないんですかね。

確認してみると、たしかに0時を区切りに日付が変わっています(下図のようにCommitsページで何日前かを示している"a day ago"の箇所をロールオーバーするとtitle属性に入っている日時情報が表示される)。

f:id:syonx:20140317020801p:plain

カウント仕様とは別に、過去のものも含めて表示を整理されたかどうかまでは、過去の同じ表示と比較しているわけではないので自信ないですが。。

そして、さらにさきほど日本時間0時を迎えたので自分のページを再表示してみましたが、グラフにグレーの箱が増えませんでした。なんとなく1時まで粘ってキャッシュクリアしつつ再表示したのですが、やはり箱が増えません。今度はpushして再表示してみると、緑の箱が増えました。しかし、他の日本人の方のページ見ると、まだ箱が増えていません。よくわからないなぁ。朝になったら出現する?ってことは、さっさと寝て早起きしてまた貢献しなさいってことですかね。。

ここまでが自分で調べて試してみたことです。ひとまず結論としては、0時が区切りだってことかな。

あなたのGitHubライフのcontributionとなれば幸いです。おやすみなさい。