branches の修正内容を trunk へ適用する手順
よく忘れるので自分用にメモ
* 前提
Subversion のディレクトリ構成を以下とします。
/var/svn/ foo/ branches/ foovar_branch/ tags/ release-1.0.0 trunk/ ...
※ SVNのインストール先は /var/svn/foo となる。
1. プロジェクトをチェックアウトして、trunkディレクトリへ移動する
$ mkdir svn_work $ cd svn_work $ svn co file:///var/svn/foo $ ls foo
2. ブランチの開始リビジョン番号を確認する
$ svn log --stop-on-copy file:///var/svn/foo/branches/foovar_branch ------------------------------------------------------------------------ r111 | (snip) (snip) r101 | (snip) hogehoge ------------------------------------------------------------------------
※この場合、101 が開始リビジョン番号になります。
3. ブランチと trunk の差分を trunk へ適用する
$ cd foo/trunk $ svn merge -r 101:HEAD file:///var/svn/foo/branches/foovar_branch
4. 3を commit する
$ svn commit -m 'Merge foo branches/foovar_branch to trunk .'
5. ブランチを削除する
$ svn del file:///var/svn/foo/branches/foovar_branch -m 'Delete foobranches/foovar_branch .'
6. タグを作成する
$ svn copy file:///var/svn/foo/trunk file:///var/svn/foo/tags/release-1.0.1 -m 'Tags foo trunk totags/release-1.0.1 .'
1〜6を実行したリポジトリの結果
/var/svn/ foo/ branches/ tags/ release-1.0.0 release-1.0.1 trunk/ ...