GNU/Linux >> Linux の 問題 >  >> Linux

SVNパッチを作成して適用するには?

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 できます (必要に応じて、フル パスを使用してパッチ ファイル自体を見つけます)。


Linux
  1. diff および apply コマンドを使用して GIT でパッチを作成および適用する方法

  2. ファイルをスパースにする方法は?

  3. Linux にソースから TBB をインストールして動作させる方法

  1. Linuxのルートでもファイルとディレクトリを削除できないようにする方法

  2. ls をファイル拡張子でソートしてから名前を付ける方法は?

  3. 共有キー .ssh/authorized_keys と sudo を連携させるには?

  1. LinuxでSVNリポジトリをバックアップおよび復元する方法

  2. 任意の作業ディレクトリから-p0パッチを適用する方法は?

  3. なぜScpはとても遅いのですか、そしてそれをより速くする方法は?