如何在SVN中创建分支?


当前回答

svn cp /trunk/ /branch/NEW_Branch

如果在trunk中有一些本地更改,那么使用Rsync来同步更改

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch

其他回答

使用svn copy命令新建分支,如下所示:

$ svn copy svn+ssh://host.example.com/repos/project/trunk \
           svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
      -m "Creating a branch of project"

通常您会将它复制到svn+ssh://host.example.com/repos/project/branches/mybranch,这样您就可以在存储库中保留几个分支,但是您的语法是有效的。

下面是一些关于如何设置存储库布局的建议。

Create a new folder outside of your current project. You can give it any name. (Example: You have a checkout for a project named "Customization". And it has many projects, like "Project1", "Project2"....And you want to create a branch of "Project1". So first open the "Customization", right click and create a new folder and give it a name, "Project1Branch"). Right click on "Myproject1"....TortoiseSVN -> Branch/Tag. Choose working copy. Open browser....Just right of parallel on "To URL". Select customization.....right click then Add Folder. and go through the folder which you have created. Here it is "Project1Branch". Now clik the OK button to add. Take checkout of this new banch. Again go to your project which branch you want to create. Right click TorotoiseSVN -> branch/tag. Then select working copy. And you can give the URL as your branch name. like {your IP address/svn/AAAA/Customization/Project1Branch}. And you can set the name in the URL so it will create the folder with this name only. Like {Your IP address/svn/AAAA/Customization/Project1Branch/MyProject1Branch}. Press the OK button. Now you can see the logs in ...your working copy will be stored in your branch. Now you can take a check out...and let you enjoy your work. :)

如果你打算合并你的分支,我强烈建议你看看这个:

Svnmerge.py

我听说Subversion 1.5构建了更多的合并跟踪功能,我没有这方面的经验。我的项目在1.4版。X和svnmerge.py是一个救生员!

如果你的repo是通过https可用的,你可以使用这个命令来分支…

svn copy https://host.example.com/repos/project/trunk \
       https://host.example.com/repos/project/branches/branch-name \
  -m "Creating a branch of project"