svn分支和标记最佳实践

时间:2010-07-29 01:43:41

标签: svn branch tags

我有一个项目,我准备创建一个分支,它将是所有1.0.x更改的分支1.0.x.我还想要一组标签来对应对该分支的更改,即1.0.1,1.0.2等。当我第一次创建这个1.0.x分支时,我也创建了一个名为1.0的标签。此时,分支和标记具有相同的内容(因为我对1.0.x分支进行了更改,我将为1.0.1,1.0.2创建新标记,如上所述)。似乎svn存储分支和标签的方式有点重复。这是创建分支和标签的好习惯吗?或者有更好的方法吗?

感谢, 杰夫

2 个答案:

答案 0 :(得分:1)

svn真的不关心项目是如何存储的,卡车,标签,分支布局只是一个建议。看起来您将使用您的分支进行主线开发,然后标记分支以作为版本进行部署。对我来说,看起来你正在使用分支来传统上在干线中完成。这是一个非常标准的开发周期:

构建新功能 - >停止新功能,稳定主干 - >标签版本 - >在trunk(重复)中构建新功能

然后,如果您需要修复标记中的任何错误,请确保将它们移植到主干。

这是过于简单的,但是一个很好的起点。

答案 1 :(得分:1)

  

似乎svn存储分支和标签的方式有点重复

SVN中的分支和标记是相同的。

听起来你正在为主要版本的分支中的每个次要版本分支。基本上是版本分支中的功能分支。

如果您在标签中进行更改,我会分支不标记以保持一致。如果您正在标记分支以保留次要版本的标记点以供将来参考(例如:能够获取用于构建1.2.7的代码的快照),那么标记是正确的。

我通常会标记主干(假设你使用主干作为'稳定分支')。我分支了版本/功能的主干,一旦完成并通过QA,我将这些分支合并回主干。然后我标记trung以将其标记为用于构建版本的代码。然后我删除了功能分支,因为它已合并回主干。

分支分支没有任何问题,它可以尽可能深入,尽管合并可能会(在概念上)变得更难。