2012-07-02 157 views
5

最近我们转移到svn。从特定标签创建SVN分支并合并到主干

我这里有两个问题,

  1. 我们不得不释放和创建标签TAG1。 一个星期后有一个生产问题,prod代码库是TAG1,稍后在主干上我们做了几个我们不想推到生产中的改变,所以最好的方法是在这里从TAG1取代码并做改变,我们有从标签导出数据但不能提交,我们不想提交该标签,发布后需要一个单独的分支使另一个基于此分支的标签(TAG2)最终合并到Trunk。合并到Trunk不是问题。问题在于如何从基于代码的代码创建分支并提交更改?

  2. 我们每两个月发布一次,所有这些更改都直接在trunk上进行,发布后我们创建一个TAG并继续下一个版本。 另一方面,我们打算开始一个新的项目XYZ,这个项目将在年底发布(日期尚未确定),在这里,这个分支需要从之前的TAG创建,而不是从主干创建,因为已经在主干上做了一些更改,我们如何才能实现它?

感谢 KV

回答

13
svn copy your.repo.URL/tags/your-tag-name your.repo.URL/branches/your-new-branch-name -m "message" 

然后在其上

svn checkout your.repo.URL/branches/your-new-branch-name 
4

分行的工作和标签都是同一件事:从一个网址廉价拷贝和版本到另一个URL。

参见http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.c.copy作为复制命令的参考。你只需要:

svn copy http://svn.foo.com/project/tags/TAG1 http://svn.foo.com/project/branches/maintenance-TAG1 
+0

谢谢你们的快速回复。现在我有下面的错误“svn无法使用外部编辑器来获取日志消息考虑设置$ svn_editor环境”,如果我尝试使用-m“消息”获取低于错误svn:通过预先提交钩子(退出代码1)与输出 – KVB

+0

你是如何创建标签的?对分支执行相同的操作,但使用适当的URL。我不知道你的pre-commit hook是干什么的。 –

+0

顺便说一下,我有管理员权限。 – KVB