アクトインディ開発者ブログ

子供とお出かけ情報「いこーよ」を運営する、アクトインディ株式会社の開発者ブログです

Postfixのaliasesのdiffを見易くする

こんにちはchibaです!
弊社では、メールサーバー(Postfix)のaliasesもgitで管理していたりするのですが、マージのレビュー等でdiffを確認するのが億劫でした。

ご存知の通り、aliasesは、

foo: a@example.com, b@example.com, c@example.com, z@example.com, q@example.com
bar: a@example.com, b@example.com, c@example.com, q@example.com
baz: a@example.com, b@example.com

のような形式なので、変更箇所を目視確認するのがとても面倒なのです。

そんな日々でしたが、ふとman aliasesしてaliasesの形式の確認をしてみたところ、

·An alias definition has the form

     name: value1, value2, ...

  ·Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'.
  ·A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line.

なんてことが書いてありました。空白から始まっていれば、先行する行から続いて一行の論理行と見做されるとな!

さっそく上記の形式を、

foo:
        a@example.com
       ,b@example.com
       ,c@example.com
       ,z@example.com
       ,q@example.com

bar:
        a@example.com
       ,b@example.com
       ,c@example.com
       ,q@example.com

baz:
        a@example.com
       ,b@example.com

のようなものに変更してみました。

これでaliasesの変更点がはっきりするようになり幸せになりました。