なにこれ
コミットハッシュから GitHub の Pull Request を開くコマンドラインツールを作りました。
レポジトリはこちら: https://github.com/pocke/whichpr
欲求
git blame
で変更がどのコミットで行われたのかを知ることが出来ても、より詳細な情報を知るために「どの Pull Request でそのコミットがなされたか」を知りたい場合があります。
このツールはそのような場合に Pull Request を素早く開くために作成されました。
Installation
Go で書かれているので、go get
でインストールします。
go get github.com/pocke/whichpr
Usage
コミットハッシュ値XXXXXXX
がコミットされた Pull Request を開くには、以下のようにします。
$ whichpr open XXXXXXX
このコマンドを実行すると、Pull Request がブラウザで開かれます。
Vim integration
また、whichpr は下記を.vimrc
に追加することで Vim プラグインとして動作します。
set rtp+=~/path/to/pocke/whichpr/
" キーバインドを設定したい場合の例
nnoremap <F5> :call whichpr#open()<CR>
:call whichpr#open()
を呼び出すことで、その行が最後に変更された Pull Request を開くことが出来ます。
なお、Vim 連携のコードは8行しかありません。
https://github.com/pocke/whichpr/blob/master/autoload/whichpr.vim
他のエディタでも同様の機能を実装するのは簡単だと思います。
認証
初回利用時には認証が必要です。
GitHub のユーザー名、パスワードを聞かれるので、入力して下さい。
Alternative
上記記事の方法を使うことでも同様のことが行なえますが、whichpr とは以下の違いがあります。
- API リクエストの有無
- 上記記事の方法では API リクエストを行いませんが、whichpr ではリクエストを行います。
- squash merge への対応
- 上記記事の方法では squash merge には対応出来ないが、whichpr では API リクエストを行うため対応しています。
- squash merge の場合コミットメッセージに Pull Request number が入らないことがあるため、 API リクエストを行わないと Pull Request number を取得できません。