SVNのブランチ作成からtrunkへのマージ方法
- Wed
- 01:30
- misc
SVNのブランチ作成からtrunkへのマージ方法
最近はGitへの移行が徐々に進みつつありますがまだまだ現役のSubversion。そこまで多人数で同一ファイルをいじらない場合はこちらの方がお手軽で簡単かも。
あるコンポーネント(またはモジュール、ライブラリ)の構成はいつもの3dir。
2-1. branchにtest.txtを追加
2-2. さらにtest.txtを修正
2-3. リビジョン200を100へマージ
一通りマージが完了して、ブランチを削除したいときは、deleteコマンド。
最近はGitへの移行が徐々に進みつつありますがまだまだ現役のSubversion。そこまで多人数で同一ファイルをいじらない場合はこちらの方がお手軽で簡単かも。
あるコンポーネント(またはモジュール、ライブラリ)の構成はいつもの3dir。
branches/ ・・・ 開発用ソース管理。この下に複数dirがある場合が多い。 tags/ ・・・ tag管理 trunk/ ・・・ ソース管理の大元
ケース1. branch作成、branch編集、trunkへのmerge
1-1. branch作成trunk のリビジョンが 100と仮定
コピー(branch)の作成。svnコマンドは実行するdirが重要ですがこれはどこでもOK。
renewal-201101ブランチを作成。
1-2. ブランチでソース開発・修正コピー(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
svnはリポジトリ全てでcommitの連番を保持しているので、ここではブランチの最終コミットが、210と仮定。
1-3. trunkへのmerge実行するのは、trunkのdir。trunkのリビジョン100にbranchのリビジョン210をマージ。
実際には、1-1から1-3の間にtrunkが変更されている可能性があるので、1-3の前にtrunckからbranchにマージを行い差分を入れておく。user01@host01[trunk]$ svn merge -r 100:210 svn+ssh://svn.prj001.com/svnroot/comp001/branches/renewal-201101
ケース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.
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.
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 test1test2を追加したリビジョン210の変更はマージされていない。
$ svn delete svn+ssh://svn.prj001.com/svnroot/comp001/branches/renewal-201101
- 関連記事
- ヤフーネットワーク10年
- GitHubからのソースコードのダウンロード
- historyコマンドの表示・履歴・対象外設定などのカスタマイズ
- SVNのブランチ作成からtrunkへのマージ方法
- ffmpegの使い方
Comment
Trackback
- URL
- http://nosource.blog35.fc2.com/tb.php/56-3818337f
- この記事にトラックバック(FC2Blog User)