patchの作り方・当て方の備忘録

基本ルール

1. 基本編

$ diff -u オリジナルファイル 改変後ファイル > パッチファイル

で作成。"オリジナルファイル"(ファイル名が同じである必要がある)があるフォルダで、以下を実行すると、パッチが適用される。

$ patch < パッチファイル

2. 基本編2 ( ディレクトリが異なる場合 )

$ diff -u aaa.org tmp/aaa > patch
$ cat patch

      • aaa.org 2012-03-21 22:45:18.579668566 +0900
      1. tmp/aaa 2012-03-21 22:38:12.191266600 +0900

@@ -1,5 +1,6 @@
aaa
ccc

  1. zzz

adf
aefa
bfd

で作成する。

$ mkdir tmp2
$ cd tmp2
$ cp ../aaa.org aaa.org
$ patch < ../patch

つまり、patchファイルの "---" の行のファイル名が重要であって、"+++"業のファイル(diff コマンドで後ろに指定したファイルの位置は関係ない.