SVNでブランチを分けて開発し、マージするまでの手順

0. 以下のような状態で、dir以下のファイルを別のブランチに分けて、開発を分岐したい。

リポジトリ
file:///SVN_ROOT/PRJECT_NAME
元の開発コピー
/ORIG/work
分岐後の開発コピー
/NEW/mywork
最初のファイル構成(/ORIG/work以下)
 1.pl
 2.pl
 dir/
    3.pl

1. ブランチ用のディレクトリを作る。

 cd /ORIG/work
 mkdir branch
 svn add dir
 svn commit -m ''
 -----------------
  1.pl
  2.pl
  dir/
    3.pl
  branch/
 -----------------

2. 分岐後の開発コピーを作る。

 cd /NEW
 svn co file:///SVN_ROOT/PRJECT_NAME mywork
 -----------------
 A  mywork/1.pl
 A  mywork/2.pl
 A  mywork/branch
 A  mywork/dir
 A  mywork/dir/3.pl
 -----------------

3. ブランチを作る。

 cd mywork
 svn copy dir branch/dir
 svn commit -m ''
 -----------------
 1.pl
 2.pl
 dir/
    3.pl
 branch/
       dir/
           3.pl
 -----------------

4. ブランチの中のファイルを修正して、コミットする。

 vi branch/dir/3.pl
 vi branch/dir/4.pl
 svn add branch/dir/4.pl
 svn commit -m ''

5. 元のディレクトリでの開発を続ける。

 cd /ORIG/work
 svn update
 -----------------
 1.pl
 2.pl
 dir/
    3.pl
 branch/
       dir/
           3.pl
           4.pl
 -----------------

5. (元の)ファイルを修正して、コミットする。

 vi dir/3.pl
 svn commit -m ''

6. ブランチの中のファイルの修正を元のファイルにマージする。

6.1 ログをみてブランチが出来たリビジョン(10とする)を確認する。

 svn log branch/dir

6.2 マージを実行する。(最新のリビジョンは15とする)

 svn merge -r 10:15 file:///SVN_ROOT/PRJECT_NAME/branch/dir dir
 -----------------
 U  dir/3.pl
 A  dir/4.pl
 -----------------

7. マージして出来たファイルをコミットする。

 svn commit -m ''

マージするときは、以下のようにドライランして確認するとよい。

 svn merge --dry-run

2.や3.でのディレクトリの作り方は、開発状況にあわせて、サブディレクトリ以下だけを指定するなどする。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS