- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Subversion/svn merge(マージ) へ行く。
- 1 (2012-04-10 (火) 17:14:54)
- 2 (2012-04-10 (火) 19:29:37)
svn merge(マージ)
ブランチを作る
$ svn copy file:///var/svn/trunk file:///var/svn/branch/1 Committed revision 4.
ブランチをチェックアウトする
$ svn checkout file:///var/svn/branch/1 $HOME/branch
ブランチでファイルを編集・コミットする
$ cd $HOME/branch $ echo 1 > 1.txt $ svn commit -m '' 送信しています 1.txt ファイルのデータを送信しています . Committed revision 5. $ touch 2.txt $ svn add 2.txt $ svn commit -m '' 追加しています 2.txt ファイルのデータを送信しています . Committed revision 6.
ブランチをトランクにマージする
トランクをチェックアウトする
$ svn checkout file:///var/svn/trunc $HOME/trunk
マージ内容の差分を確認する
$ svn diff file:///var/svn/branch/1@4 file:///var/svn/branch/1@6 Index: 2.txt =================================================================== Index: 1.txt =================================================================== --- 1.txt (リビジョン 4) +++ 1.txt (リビジョン 6) @@ -0,0 +1 @@ +1
マージを実行する
$ svn merge file:///var/svn/branch/1@4 file:///var/svn/branch/1@6 --- r5 から r6 までを '.' にマージしています: A 2.txt U 1.txt --- Recording mergeinfo for merge of r5 through r6 into '.': U .
- マージ対象の指定の仕方は、他にも→ svn merge -r 4:HEAD file:///var/svn/branch/1
- --dry-runオプションを付けると実行を確認できる。
マージをコミットする
$ svn commit -m '' 送信しています . 送信しています 1.txt 追加しています 2.txt ファイルのデータを送信しています . Committed revision 7.
ブランチのログを参照する
$ svn log --stop-on-copy file:///$HOME/tmp/svn/branch/1 ------------------------------------------------------------------------ r6 | taro | 2012-04-09 23:36:46 +0900 (月, 09 4月 2012) | 1 line ------------------------------------------------------------------------ r5 | taro | 2012-04-09 23:36:34 +0900 (月, 09 4月 2012) | 1 line ------------------------------------------------------------------------ r4 | taro | 2012-04-09 23:35:59 +0900 (月, 09 4月 2012) | 3 lines ------------------------------------------------------------------------
↑--stop-on-copyオプションでブランチを作って以降のログを参照できる。オプションを付けないと↓。
$ svn log file:///$HOME/tmp/svn/branch/1 ------------------------------------------------------------------------ r6 | taro | 2012-04-09 23:36:46 +0900 (月, 09 4月 2012) | 1 line ------------------------------------------------------------------------ r5 | taro | 2012-04-09 23:36:34 +0900 (月, 09 4月 2012) | 1 line ------------------------------------------------------------------------ r4 | taro | 2012-04-09 23:35:59 +0900 (月, 09 4月 2012) | 3 lines ------------------------------------------------------------------------ r2 | taro | 2012-04-09 23:34:41 +0900 (月, 09 4月 2012) | 1 line ------------------------------------------------------------------------ r1 | taro | 2012-04-09 23:34:15 +0900 (月, 09 4月 2012) | 1 line ------------------------------------------------------------------------
トランクで行われたコミットをブランチに反映させるには?
cd $HOME/branch2 svn merge file:///var/svn/trunk
トランクを指定してマージする。