svn patch
を使用 .
ケース 1:/usr/bin/patch
を使用する :
svn diff > $TMPDIR/mypatchfile.patch
cd myOtherCheckOut
patch -p0 < $TMPDIR/mypatchfile.patch
svn add
までに追加/削除されたファイルがない場合、変更を適切に適用します または svn delete
ケース 2:svn patch
を使用する :
svn diff > $TMPDIR/mypatchfile.patch
cd myOtherCheckOut
svn patch $TMPDIR/mypatchfile.patch
追加および削除されたファイルも追跡します。
どちらも svn move
を追跡しないことに注意してください s と rename
デフォルトでは、patch
ターゲット ファイル名のディレクトリ部分を無視します。現在の作業ディレクトリで「httpd.conf」を探しているだけです。フルパスを使用する場合は、 -p
を使用して明示的に要求する必要があります オプション:
patch -p 0 < httpd.patch
-p
の後の数字 ファイル名パスから削除するレベル数です。 -p N
スラッシュ番号 N までのすべてを取り除きます。最初のスラッシュは番号 1 なので、-p 0
は「何も剥がさない」という意味です。
ただし、一般的には、パッチ ファイルにフル パスが含まれていることに依存しない方がよい場合があります。異なるディレクトリ レイアウトのファイルに対しても機能する場合、パッチはより一般的に役立ちます。 patch を実行する前に、ファイルを含むディレクトリにいつでも cd できます (必要に応じて、フル パスを使用してパッチ ファイル自体を見つけます)。