なるべく余分なものを省いています。が、先頭のパスとかはまだちょっと余分です。あと、削除ファイルがやばい。
svn log -r1000:HEAD -qv | grep '^ ' | sed "s/^ [AMR] //" | sed "s/(from.*)//" | sort | uniq
開発環境等をターゲットのリビジョンにupdateし、下記のようにcpioアーカイブファイルを作成します。(ヒアドキュメントにしてあるけど、ファイルでも良し)
cpio -o << 'EOF' > release_version_2.cpio apps/action.php lib/hogeMaker.class.php template/ja/top_page.php EOF
下記コマンドでアーカイブの内容を確認できます
cpio -it < release_version_2.cpio
本番環境のソースをいきなり上書きすることになる(それもどうかと思われるが、ここでは無視)ので、念のため現状ファイルをバックアップしておきます。 これもアーカイブ作成と同じ手順です。存在しないファイルは無視されます。(万が一戻す場合は気をつける)
cpio -o << 'EOF' > release_version_2_backup.cpio apps/action.php lib/hogeMaker.class.php template/ja/top_page.php EOF
リリースアーカイブを本番ソースセットに上書きします。ディレクトリはアーカイブ作成時と同じ位置で実行します。
cpio -idmu < release_version_2.cpio
まるごと戻す場合
cpio -idmu < release_version_2_backup.cpio
個別ファイルを戻す場合(後ろにファイルを指定)
cpio -idmu < release_version_2_backup.cpio apps/action.php lib/hogeMaker.class.php
※削除ファイルは気をつける