
説明どおりにパッチを作成してみましたここ。
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
答え2
直接回答: diff -N
, asPutzko氏による説明。によって多くのパッチが作成されたことがわかりますdiff -urN
。
あなたの人生をより良い方向に変える:バージョン管理ツールを試してください。わからない場合は、3つの主要項目のいずれかから始めてください。分散リビジョン制御システム、市場、子または水銀。クリーンバージョンをチェックインし、作業し、必要に応じてワークをチェックインし、クリーンバージョンと自分の作業の違いをバージョン管理システムに問い合わせてください。