Svn 如何将所有修订逐个从主干复制到分支

Svn 如何将所有修订逐个从主干复制到分支,svn,Svn,我有以下存储库结构 A repo1\trunk A repo1\branches Adding repo1\branches Adding repo1\trunk Committed revision 1. A repo1\trunk\sources Adding repo1\trunk\sources Committed revision 2. A repo1\trunk\sou

我有以下存储库结构

A         repo1\trunk
A         repo1\branches
Adding         repo1\branches
Adding         repo1\trunk
Committed revision 1.

A         repo1\trunk\sources
Adding         repo1\trunk\sources
Committed revision 2.

A         repo1\trunk\sources\file1.txt
Adding         repo1\trunk\sources\file1.txt
Transmitting file data .  
Committed revision 3.

A         repo1\trunk\sources\file2.txt
Adding         repo1\trunk\sources\file2.txt
Transmitting file data .
Committed revision 4.
是否可以将所有修订一个一个地从主干复制到分支?
大概是这样的:

svn copy svn://localhost/repo1/trunk@2 svn://localhost/repo1/branches/b1 -m "m1" 
svn copy svn://localhost/repo1/trunk@3 svn://localhost/repo1/branches/b1 -m "m2" 
svn copy svn://localhost/repo1/trunk@4 svn://localhost/repo1/branches/b1 -m "m3" 
etc
或者在这种情况下,修订应该一个接一个地合并 因此,我需要将所有修订从主干复制到分支b1,并具有分支b1的以下结构:

b1/sources/file1.txt
b1/sources/file2.txt

您不需要单独复制每个修订。如果您只关心在
sources
子目录中同时包含
file1.txt
file2.txt
,则只需创建最新主干的分支并使用它:

svn cp svn://localhost/repo1/trunk svn://localhost/repo1/branches/b1 -m 'Create branch'
如果出于某种原因(我不太清楚),您真的需要一次又一次地进行修订,正确的策略是在某个修订处创建分支,例如

svn cp svn://localhost/repo1/trunk@1 svn://localhost/repo1/branches/b1 -m 'Create branch'
然后合并所有进一步的修订,例如

svn co svn://localhost/repo1/branches/b1
cd b1
svn merge ^/trunk -c 2
svn ci -m 'Merged revision 2'
svn up
svn merge ^/trunk -c 3
svn ci -m 'Merged revision 3'
svn up
...