SVNのブランチ作成からtrunkへのマージ方法

SVNのブランチ作成からtrunkへのマージ方法

最近はGitへの移行が徐々に進みつつありますがまだまだ現役のSubversion。そこまで多人数で同一ファイルをいじらない場合はこちらの方がお手軽で簡単かも。

あるコンポーネント(またはモジュール、ライブラリ)の構成はいつもの3dir。
branches/   ・・・ 開発用ソース管理。この下に複数dirがある場合が多い。
tags/       ・・・ tag管理
trunk/      ・・・ ソース管理の大元

ケース1. branch作成、branch編集、trunkへのmerge

1-1. branch作成
trunk のリビジョンが 100と仮定
コピー(branch)の作成。svnコマンドは実行するdirが重要ですがこれはどこでもOK。
renewal-201101ブランチを作成。
$ svn copy svn+ssh://svn.prj001.com/svnroot/comp001/trunk svn+ssh://svn.prj001.com/svnroot/comp001/branches/renewal-201101
1-2. ブランチでソース開発・修正
svnはリポジトリ全てでcommitの連番を保持しているので、ここではブランチの最終コミットが、210と仮定。
1-3. trunkへのmerge
実行するのは、trunkのdir。trunkのリビジョン100にbranchのリビジョン210をマージ。
user01@host01[trunk]$ svn merge -r 100:210 svn+ssh://svn.prj001.com/svnroot/comp001/branches/renewal-201101
実際には、1-1から1-3の間にtrunkが変更されている可能性があるので、1-3の前にtrunckからbranchにマージを行い差分を入れておく。

ケース2. branchの途中のリビジョンをtrunkへmerge

(ケース1とほとんど同じ・・・)
2-1. branchにtest.txtを追加
user01@host01[renewal-201101]$ cat test.txt
test1
user01@host01[renewal-201101]$ svn commit
Enter passphrase for RSA key '/home/user01/.ssh/identity':
Sending        renewal-201101
Adding         renewal-201101/test.txt
Transmitting file data .l
Committed revision 200.
2-2. さらにtest.txtを修正
user01@host01[renewal-201101]$ cat test.txt
test1

test2
user01@host01[renewal-201101$ svn commit
Enter passphrase for RSA key '/home/user01/.ssh/identity':
Sending        renewal-201101/test.txt
Transmitting file data .
Committed revision 210.
2-3. リビジョン200を100へマージ
user01@host01[trunk]$ svn merge -r 100:200 svn+ssh://svn.prj001.com/svnroot/comp001/branches/renewal-201101
Enter passphrase for RSA key '/home/user01/.ssh/identity':
--- Merging r100 through r200 into '.':
A    test.txt
Enter passphrase for RSA key '/home/user01/.ssh/identity':
Sending        trunk
Adding         trunk/test.txt
Committed revision 200.
user01@host01[trunk]$ cat test.txt
   test1
test2を追加したリビジョン210の変更はマージされていない。
一通りマージが完了して、ブランチを削除したいときは、deleteコマンド。
$ svn delete svn+ssh://svn.prj001.com/svnroot/comp001/branches/renewal-201101
関連記事

Comment

(編集・削除用)
管理者にだけ表示を許可

Trackback

URL
http://nosource.blog35.fc2.com/tb.php/56-3818337f
この記事にトラックバック(FC2Blog User)

カテゴリ

Amazon

最新コメント

最新トラックバック

アクセスランキング

[ジャンルランキング]
コンピュータ
1360位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
170位
アクセスランキングを見る>>

RSSリンクの表示

リンク

ブロとも申請フォーム

Copyright © nopgm