次: , 前: Interactive Merging, 上: Top


10 patchを用いてマージする

patchは,diffで生成される比較された出力を受けとり, パッチをあてたバージョンを生成しながら,オリジナルファイルのコピーに差分 を適用します.patchを用いることで,ファイルをすべて配布する代 わりに,変更したファイルの組だけを配布することが可能になります.取引先で は,変更したファイルのコピーを更新するためにpatchを適用するこ とが可能になります.patchは差分の書式を自動的に決定し,前後の ヘッダを飛ばし,パッチをあてるファイルを決定するためにヘッダを使用します. これで,取引先はpatchに直接,変更部分のリストをメールのメッセー ジに含めることができます.

patchは,後戻りするパッチのような一般的な問題を検出し警告を発 します.それで適用しなくてもよいパッチあてることを止めます.また,取引先 が適切な順序で差分を適用するのを確実にするため,patchlevel.hファ イルも管理することが可能です.

patchは,標準入力から連続した差分を受け入れ,それは通常,パッ チをあてるファイルを指定するヘッダで分離されています.それは, diffのhunk(see Hunks)を一つずつ適用します.hunkが元ファイ ルに正確にマッチしない場合,patchはできる限り発見的手法を用い てパッチをあてるファイルを見つけようとします.適切にマッチしている部分を 見つけることが不可能な場合,patchはhunkを除外し,次のhunkに飛 びます.patchは通常,hunk(が存在する場合はそれ)を `f.rej'に捨てながら,それぞれのファイルfを新しいバージョ ンで置換します.

patchへのオプションの詳細は,See Invoking patch.