2009-08-07 102 views
6

我已经签出了我的应用程序的特定Subversion分支。称它为'1.0'。我一直在做一些改变,增加了一些新的文件等,但还没有做出改变。但是,我不想将更改提交到'1.0'分支。相反,我想将我的更改提交到新的“1.1”分支。颠覆分支问题

据我所见,我需要先检查'1.0'分支的新副本,然后创建一个名为'1.1'的新Subversion分支,然后在提交之前手动复制我的未决更改。

有没有更简单的方法来做到这一点?

回答

9

您可以远程创建分支,然后切换到新分支并提交更改。

$ cd /path/to/working 
$ svn copy svn://my/repos/trunk svn://my/repos/branches/1.1 -m "Created branch 1.1" 
$ svn switch svn://my/repos/branches/1.1 
$ svn commit -m "Your message" 
+0

您可能想复制分支而不是第二行中的树干。 – 2009-08-07 06:51:24

+0

这个伎俩。非常感谢。 – Rob 2009-08-07 07:15:22

2

svn switch可让您将工作副本切换到不同的分支。您可以事先创建分支,而不用检出新副本svn copy <repository>/branches/1 <repository>/branches/2

3

您实际上可以创建分支而不必检出工作副本,只使用远程URL。如果你将一个svn copy的trunk(或者1.0分支)作为1.1分支,你可以做一个svn switch来移动你的工作副本来指向新的分支然后在那里提交。 (如果您有没有做过这样的事情之前,明智的做法,以保存当前工作副本的备份,这样你就不会失去你的修改。)

例如...

svn copy http://svn.example.com/branches/1.0/ \ 
     http://svn.example.com/branches/1.1/ \ 
    -m "Creating 1.1 branch." 

cd /path/to/working/copy 
svn switch http://svn.example.com/branches/1.1/ 

取详情请看svn help switch