ブログ構築システムをつくっていて、 ディレクトリの深さに応じて、パスの指定方法がちょっとだけ異なるテンプレートファイルを使う必要が出てきた。 このテンプレートをコピーしていると共通部分に変更が生じたときに全部のテンプレートを書き直す必要が生じてしまうので、diff と patch を使って対処することに。
original.txt と customized.txt がある。
original.txt をほんの少し変更したファイルが customized.txt。
この差分をファイル(patch.txt)に取っておいて、original.txt と patch.txt から customized.txt を作り出す方法。
$ diff original.txt customized.txt -u > patch.txt
$ patch < patch.txt
$ diff original.txt customized.txt