MercurialのPager Extensionを設定して快適にコミットログを追いかける
Git使いであれば、diffやlogの差分はデフォルトでpagerが設定されており、コミットログを追いかけやすい設定になっていることはご存知だろう。
Mercurialでは、diffやlogの出力は、pager経由ではなくすべて出力される設定になっている。
このままだとlogを追いかけるのが難しくなり、開発サイクルが破綻してしまうので、Pager Extensionを設定して快適にコミットログを追いかけたりやdiffを確認できるようにしよう。
Pager Extensionは、Mercurialにバンドルされているので.hgrcに次の設定を加えるだけで有効化できる。
[extensions] pager = [pager] pager = LESS='FSRX' less
さらにこの設定に加え、PIPEが壊れた時のエラーメッセージを抑制するために
[pager] quiet = True
を追加しておこう。また、あるコマンドの出力をpager経由で表示してほしくない場合は、そのコマンドを無視できる。
[pager] ignore = version, help, update
逆に、指定したコマンドを有効化したい場合はpager.attendに追加する。
[pager] attend = annotate, cat, diff, export, glog, log, qdiff
ここで、気をつけることが、Alias Extensionでコマンドの短縮名を登録している場合で、そのコマンドの出力をpager経由で表示するには、その短縮名もpager.attendに追加しなければならない。
たとえば、diffをd、glogをgl、logをlにaliasを割り当てていたとすると、
[pager] attend = annotate, cat, diff, d, export, glog, gl, log, l, qdiff
と記述する。