説明どおりにパッチを作成してみましたここ。
2つのディレクトリがあるとし、次のコマンドを使用してパッチファイルを作成しますpp1(modified version)
。pp0(clean version)
pp0.patch
diff
diff -crB pp0 pp1 > pp0.patch
問題は、pp1にファイルだけがパッチに含まれないことです。この問題をどのように解決しますか?
修正する:
まずpp0ディレクトリに入り、パッチが成功したかどうかをテストしましょう。
patch --dry-run -p1 -i /path-to-pp0.patch
--new-file
コマンドに追加しましたが、結果に記載されdiff
ていません。pp1
修正する:
誤って間違ったファイルをパッチしてしまった
diff -crb --new-file pp1 pp0 > pp0.patch
または
diff -crNb pp1 pp0 > pp0.patch
する
ベストアンサー1
これを行うには、スイッチを使用できる必要があります--new-file
。からインポート違い マニュアルページ:
--new-file
In directory comparison, if a file is found in only one direc-
tory, treat it as present but empty in the other directory.
この試み:
diff -crB --new-file pp0 pp1 > pp0.patch