El Captainでdocdiff

以前、2つの文書の比較結果をカラーリングで示せるdocdiffのことをMavericks向けに書きました。その後、Yosemite向けにも書きました。このポストは、そのEl Captain版です。/usr/binディレクトリがルートレスの機能により利用できなくなったので、docdiff自身も/usr/local/binに配備されるようになっています。それに合わせてドキュメントを書き直します。

まず、インストールは以前と同様にgemを使います。すでにファイルが存在すると、上書きしていいかを聞かれるので、yで上書きをしてしまいます。

sudo gem install docdiff

これで、/usr/local/bin/docdiffがコマンドとして機能するようになります。そのほかのライブラリファイル群は正しい場所に入っているということで、気にしないで行きます。

さて、svnで使うには、パラメータの組み換えが必要です。そこで、/usr/local/binにdocdiffsvnを作ってそれを実行用にします。もちろん、viでもemacsでもご自由なエディタで編集してください。もし、/usr/local/binが作られていないのなら、mkdirコマンドで作ってください。

sudo nano /usr/local/bin/docdiffsvn

中身はこのように書きます。

#/bin/sh
/usr/local/bin/docdiff --format=tty $6 $7

そして、もちろん、アクセス権を設定しておきます。

sudo chmod a+x /usr/local/bin/docdiffsvn

こうすれば、以下のようにsvnコマンドを打ち込むときに、docdiffを使って比較を行います。最後のパラメータはファイル名です。

svn diff --diff-cmd=docdiffsvn -r PREV _any_file_name_

もし、パス(echo $PATH で確認できます)が、/usr/local/binに通っていないなどの場合には、上記のパラメータの1つを「–diff-cmd=/usr/local/bin/docdiffdvn」のように指定します。

shot3219