MacOSXでp4mergeを使う
MacOSXのターミナルからSubversionの差分ビューワとしてp4mergeを使う方法です。
本来ならば、TortoiseSVNと組み合わせて使うのが理想なのですが、あいにくTortoiseSVNがMacOSXに対応していないので、CLIツールと組み合わせて利用できるよう工夫してみました。
なお、Subversion自体はMacPorts等を使ってインストールしてください。
p4mergeの取得
http://www.perforce.com/perforce/downloads/macosx104ppc.htmlから、P4V(Perforce Visual Client)をダウンロードします。
dmgファイルを展開すると中にp4mergeが入っていますので、アプリケーションフォルダにコピーしてください。
p4mergeの設定
まず、p4mergeを実行するシェルスクリプトを作成します。ここでは、ファイル名を'p4merge'とします。
#!/bin/sh /Applications/p4merge.app/Contents/Resources/launchp4merge $*
次に、Subversionのdiffコマンドから実行されるシェルスクリプトを作成します。ここでは、ファイル名を'svn-diff'とします。
#!/bin/sh # select only 6th and 7th options, and ignore others. left=$6 right=$7 if [ ! -z $left ] && [ ! -z $right ]; then p4merge $left $right else p4merge -h fi exit 0
作成したスクリプトは、それぞれ環境変数PATHに登録されているディレクトリに配置します。
この後 svn diff 実行時に --diff-cmd オプションを使ってこのスクリプトを指定すると、p4mergeを使ってリビジョン間の差分を閲覧することが出来ます。
% svn diff filename --diff-cmd svn-diff
ちなみに、svn diff を実行する度に毎回スクリプトを指定するのは面倒なので、エイリアスでショートカットを定義すると便利です。
alias sd='svn diff --diff-cmd svn-diff'