CUIでも使えるMercurialのリポジトリブラウザ hgview の紹介 #mercurialjp
このエントリは Mercuiral Advent Calendar 2012 の8日目です。
CUIでも使えるMercurialのリポジトリブラウザ hgview を紹介したいと思います。
hgview
hgviewはLinuxやMac、Cygwinで利用出来るGUI、CUI兼用のMercurialのリポジトリブラウザです。今回はCUIツールとして使ってみます。
インストール
pipでインストール!とおもって試してみるとうまくインストール出来ません(最新版がPyPIに有るのに)。なのでリポジトリをクローンしてsetup.pyを使ってインストールします。
まずは依存ライブラリのインストール。
pip install urwid pygments pip install pyinotify # 必要の応じてインストール
その後、本体のインストール。
hg clone http://hg.logilab.org/hgview cd hgview hg up hgview-version-1.7.0 # 現在の最新版 python setup.py install --no-doc # ドキュメントのビルドは大変なのでskip
これで hgview コマンドが利用出来ます
スクリーンショット
表示はこんな感じ。リビジョンは「o」、MQのパッチは「*」です。

diffはこんな感じ

使い方
Emacs的なキーバインドとvi的なキーバインドがあります。僕はEmacs遣いなので、とりあえずEmacs的なキーバインド。
| キーバインド | 動作 |
|---|---|
| M-x | コマンドキー |
| C-g | Escape |
| C-v | リフレッシュ |
| C-k | ペインを閉じる |
| C-p | グラフ、前の行 |
| C-n | グラフ、次の行 |
| C-b | ファイル、前の行 |
| C-f | ファイル、次の行 |
| C-a | ソース、前の行 |
| C-e | ソース、次の行 |
| M-p | グラフ、ページアップ |
| M-n | グラフ、ページダウン |
| M-b | ファイル、ページアップ |
| M-f | ファイル、ページダウン |
| M-a | ソース、ページアップ |
| M-e | ソース、ページダウン |
主なコマンド
| コマンド | 動作 |
|---|---|
| h[elp] | ヘルプを表示 |
| g[oto] REVISION | REVISIONに移動 |
| r[efresh] | リフレッシュ |
たとえばつぎでヘルプが表示されます。
M-x help<Enter>
使ってみるとわかるのですが、キーリピートに難ががあります。こなれてない感もあるので、 是非みんなで叩いて改良していきましょう。