dispatch-conf の差分表示をカラフルにする

dispatch-conf やら etc-update すると、古いコンフィグファイルと新しいコンフィグファイルの差分が表示されるが、その際の表示をカスタマイズする方法を書いてなかったので書いておく。たしか wiki あたりにも書いてあるけど。


方法は、普段 diff コマンドが使われるところを変えてやるだけ。今回は colordiff を使っているけど、他にもあるかと思う。

マージする

app-misc/colordiff をマージする。

$ sudo emerge -v colordiff

コンフィグファイルを書き換える

dispatch-conf と etc-update では当然書き換えるファイルは違う。多分普段片方しか使わないと思うけど、自分みたいに気分に応じて両方使ってしまうような奇特な人は、両方書き換えておけばいいんじゃないだろうか。

dispatch-conf の場合
$ sudo nano -w /etc/dispatch-conf.conf

dispatch-conf のコンフィグファイルを開いて、以下の箇所を編集。

diff="diff -Nu '%s' '%s' | less --no-init --QUIT-AT-EOF"

こうなっている箇所を

diff="colordiff -Nu '%s' '%s' | less --no-init --RAW-CONTROL-CHARS --QUIT-AT-EOF"

こんな感じにするだけ。

etc-update の場合
$ sudo nano -w /etc/etc-update.conf

etc-update のコンフィグファイルを開いて、以下の箇所を編集。

pager="less"
diff_command="diff -uN %file1 %file2"

こうなっている箇所を

pager="less -R"
diff_command="colordiff -uN %file1 %file2"

ちなみに less -R と less --RAW-CONTROL-CHARS は一緒。周りの雰囲気にあわせてるだけw