パッチに新しいファイルを含める方法

パッチに新しいファイルを含める方法

説明どおりにパッチを作成してみましたここ
2つのディレクトリがあるとし、次のコマンドを使用してパッチファイルを作成しますpp1(modified version)pp0(clean version)pp0.patchdiff

 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

答え2

直接回答: diff -N, asPutzko氏による説明。によって多くのパッチが作成されたことがわかりますdiff -urN

あなたの人生をより良い方向に変える:バージョン管理ツールを試してください。わからない場合は、3つの主要項目のいずれかから始めてください。分散リビジョン制御システム、市場または水銀。クリーンバージョンをチェックインし、作業し、必要に応じてワークをチェックインし、クリーンバージョンと自分の作業の違いをバージョン管理システムに問い合わせてください。

関連情報