からの抽出svn help merge
4この形式は「2-URLマージ」と呼ばれます。
svn merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]
2つのソースURLが、2つのリビジョンNおよびMとともに指定されます。2つのソースが指定されたリビジョンで比較され、その差が別のブランチの作業コピーへのパスであるTARGET_WCPATHに適用されます。
マージする前にいくつかの準備手順をスキップし、いくつかの場所でWinスタイルのパスを使用し(ここではbashはありません、申し訳ありません)、ワークフローを少し変更します(ブランチは空になりません)
z:\>dir /B
svn
localws
z:\>dir localws /B /S
z:\localws\mtree
...
z:\localws\mtree\branches
z:\localws\mtree\trunk
z:\>svn ls -v -R file:///Z:/svn/mtree
3 Badger окт 13 21:30 ./
3 Badger окт 13 21:30 branches/
2 Badger окт 13 21:29 trunk/
(レポとWCは準備されていますが、まだ空です)
作成され、トランクにコミットされたファイル
z:\>dir /B z:\localws\mtree\trunk
1.txt
2.txt
z:\>svn ls -v -R file:///Z:/svn/mtree
4 Badger окт 13 21:48 ./
3 Badger окт 13 21:30 branches/
4 Badger окт 13 21:48 trunk/
4 Badger 9 окт 13 21:48 trunk/1.txt
4 Badger 9 окт 13 21:48 trunk/2.txt
ブランチ開始
Z:\localws\mtree\trunk>svn copy file:///Z:/svn/mtree/trunk file:///Z:/svn/mtree/branches/test-reintegrate -m "Create test-reintegrate branch"
Committed revision 5.
試して
Z:\localws\mtree\trunk>svn ls -v -R file:///Z:/svn/mtree
5 Badger окт 13 22:17 ./
5 Badger окт 13 22:17 branches/
5 Badger окт 13 22:17 branches/test-reintegrate/
4 Badger 9 окт 13 21:48 branches/test-reintegrate/1.txt
4 Badger 9 окт 13 21:48 branches/test-reintegrate/2.txt
4 Badger окт 13 21:48 trunk/
4 Badger 9 окт 13 21:48 trunk/1.txt
4 Badger 9 окт 13 21:48 trunk/2.txt
svn up
Z:\ localws\mtreeの後で更新されたWCを取得します
Z:\localws\mtree>dir /B /S
Z:\localws\mtree\branches
Z:\localws\mtree\trunk
...
Z:\localws\mtree\branches\test-reintegrate\2.txt
Z:\localws\mtree\branches\test-reintegrate\1.txt
Z:\localws\mtree\trunk\1.txt
Z:\localws\mtree\trunk\2.txt
トランクに新しいファイルを追加し、ブランチでファイルを編集しました
Z:\localws\mtree>svn log -v -r6:7
------------------------------------------------------------------------
r6 | Badger | 2012-10-13 22:28:04 +0600 (Сб, 13 окт 2012) | 1 line
Changed paths:
A /mtree/trunk/3.txt
Added new file to trunk
------------------------------------------------------------------------
r7 | Badger | 2012-10-13 22:29:20 +0600 (Сб, 13 окт 2012) | 1 line
Changed paths:
M /mtree/branches/test-reintegrate/2.txt
Some changes
------------------------------------------------------------------------
サーバー側のビュー
Z:\localws\mtree>svn ls -v -R file:///Z:/svn/mtree
7 Badger окт 13 22:29 ./
7 Badger окт 13 22:29 branches/
7 Badger окт 13 22:29 branches/test-reintegrate/
4 Badger 9 окт 13 21:48 branches/test-reintegrate/1.txt
7 Badger 17 окт 13 22:29 branches/test-reintegrate/2.txt
6 Badger окт 13 22:28 trunk/
4 Badger 9 окт 13 21:48 trunk/1.txt
4 Badger 9 окт 13 21:48 trunk/2.txt
6 Badger 9 окт 13 22:28 trunk/3.txt
ブランチをトランクと同期-トランクからテストへの変更をマージ-再統合
Z:\localws\mtree>cd branches
Z:\localws\mtree\branches>cd test-reintegrate
Z:\localws\mtree\branches\test-reintegrate>svn merge file:///Z:/svn/mtree/trunk
--- Merging r5 through r7 into '.':
A 3.txt
--- Recording mergeinfo for merge of r5 through r7 into '.':
U .
WCの状態を確認する
Z:\localws\mtree\branches\test-reintegrate>dir /B
2.txt
1.txt
3.txt
結果をコミットします
Z:\localws\mtree\branches\test-reintegrate>svn commit -m "Sync of test-reintegrate"
Sending .
Adding 3.txt
Committed revision 8.
サーバ側
Z:\>svn ls -v file:///Z:/svn/mtree/branches/test-reintegrate
8 Badger окт 13 22:47 ./
4 Badger 9 окт 13 21:48 1.txt
7 Badger 17 окт 13 22:29 2.txt
8 Badger 9 окт 13 22:47 3.txt
履歴書
あなたのスタイルと比較した私の変更(そして「winwsfail」の結果)
HTH