詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

GitHub と CI を連携してる人にオススメの userscript: PR Build Status in Favicon

f:id:motemen:20140927211317p:plain

GitHub を使って Pull Request ベースで仕事しているとこんなことがありますよね……

( ^o^) LGTM もらった!:sushi:

( ˘⊖˘) 。o(CI 通ったらマージしよう)

|花金|┗(☋` )┓三

( ◠‿◠ )☛ マージしてから帰れよ

▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂ 忘れてたああああああ

Issue/PR のタブを開きすぎて、自分のにしろ他人のにしろ何がどこにあってステータスがわからなくなってしまうという問題もありますね。

f:id:motemen:20140927205604p:plain

そんなときに便利なユーザースクリプトがこちら。

GitHub PR Build Status in Favicon

chrome://extensions に放り込むなどしてインストールすると、ビルドステータスが設定されている Pull Request()では、Favicon の右下にそのステータス(最新コミットのもの)を表す色が描かれます(Favicon に注目):

f:id:motemen:20140927210823p:plain

GitHub はステータスに変化があったときや新たなコミットが追加されたときもリアルタイムにページの内容を更新してくれますが、そのような場合にも追随して Favicon を再描画するので、放っておいてもひと目で PR の様子がわかります。

インストール後、動きを試してみたい人は Travis CI の Recent を見てみると最新の PR を漁ることができますよ。

YAPC::Asia 2014 で「Git によるツール開発」というタイトルで話しました #yapcasia

Git を使ったツール開発 - YAPC::Asia Tokyo 2014

YAPC::Asia 2014: Writing tools with Git // Speaker Deck

後半駆け足になりましたが、Git のサブコマンドを活用して Git のツールを作る話をしました。自分がこれまでツールを作ってきた上で、Git とのやりとりを行うにはどういった方法を取ればいいのか調べてきた話を盛り込んでます。お越しになったみなさま、ありがとうございました。

トークにそなえて Git のドキュメントやソースを読んでいたら、またいろいろと発見があって楽しかった。Git の話しましょう。

ghq v0.5-pre1 をリリースしました(`ghq import` が変わります)

https://github.com/motemen/ghq/releases/tag/v0.5-pre1

ようやく重い腰をあげ、ghq に、懸案であった ghq import への変更をいれました。

このバージョンでは以下の非互換なものを含む変更が入ります:

  • ghq import はサブコマンドを取らず、標準入力から URL のリストを受け取り、それぞれに ghq get を行うコマンドになります。
    • それに伴い、ghq import starred および ghq import pocket は廃止されます。
    • 副次的な効果として、Mercurial がインストールされていなくても go get で ghq をインストールすることができます。(わらい)
  • リリースにより配布されるコンパイル済バイナリが環境によりうまく動かなかった問題が修正されます。

そもそもこんな変更でいいのか、など特に反応がなければこれをバージョン 0.5 としてドキュメントを整備してリリースしたいと思います。

ghq import starredghq import pocket を使っていたみなさまにおかれましては、以下のような代替策を用意してあります。

GitHub でスターをつけたリポジトリをクローンする

github-list-starred を使います。

% go get github.com/motemen/github-list-starred
% github-list-starred motemen | ghq import

Pocket に追加した GitHub のリポジトリをクローンする

go-pocket を使います。

% ghq get https://github.com/motemen/go-pocket
% ghq look motemen/go-pocket

% go install -ldflags "-X main.consumerKey '<YOUR_POCKET_CONSUMER_KEY>'" ./cmd/pocket
% cp pocket 
% exit

% pocket list --domain=github.com | ghq import

go-pocket は現在鋭意開発中なのでもうちょっといい感じになる予定です(物理的な理由で push できてない)。


そのほかご意見ご感想などお気軽に Issue によろしくお願いいたします。エゴサーチが壊滅してるので……

はてなで一緒に働きませんか?