subversionが入っていない環境に差分反映をする手順

subversionが入っていない環境に差分反映をする手順
実用 Subversion 第2版

本番反映が大変なので手順書をφ(..)

gitでbranch使った開発が出来ればこんな苦労はしなくてもいいのに…言ってもしょうがないですけどねー

差分を出力する

対象リビジョンから最新リビジョンまでの差分をpatchファイルとして出力
~~~
svn diff -r 対象リビジョン:HEAD -x -w > patch.diff
~~~

オプション

-x -w というのはタブとインデントの違いを無視するというオプション
他にもオプションが色々
~~~
-b スペースの数を無視する
-B 空の改行を無視
~~~

複数指定したい場合はこのように書く
~~~
-x “-w -b -B”
~~~

patchをあてる

~~~
$ patch -p0 -E < patch.diff ~~~ patchは作成した時にpathを持っているので、同じ階層で実行する必要がある

成功した場合のメッセージ

~~~
patching file path/to/hoge.tpl
~~~

失敗した場合のメッセージ

~~~
44行目が失敗しましたよーという内容

~~~
44行目付近は失敗したけどそれ以外は成功したよーという内容

~~~
1 out of 2 hunks FAILED — saving rejects to file path/to/hoge.tpl.rej
~~~

path/to/hoge.tpl.rejに失敗したdiffの内容を保存してくれます
またpath/to/hoge.tpl.origにpatch当てる前のファイルが保存されます

参考サイト: subversionで差分を作る。パッチをあてる。 – 作業ノート