可以偏离SVN中的trunk / tags / branches结构吗?

时间:2014-12-22 13:36:09

标签: svn tags branch release trunk

我们在SVN中有我们的项目,我正在努力提高发布过程中的自动化水平。

历史上,我们在主干上开发,然后在发布时进行标记,这需要手动(虽然是次要的)做实际标签和工作。然后在下一个标记之前增加源文件中的版本号。

我们现在正在使用Jenkins,我已经将我们的项目配置为嵌入SVN版本&詹金斯在最终的EXE& DLL等我试图沿着使用发布分支而不是标签的路线走下去。因此,在完美的世界中,发布分支永远不会更新,但我们将允许自己应用小错误修复。

使用Jenkins& SVN,在我看来,传统标签的价值已经降低了,所以我目前的想法是在我们的发布过程中根本不需要手动标签。好像每个提交都标有SVN版本号。

所以我的问题是我应该把这些发布分支放在哪里:

  1. branches - 然后他们只是变得杂乱无章 发展分支机构等。
  2. tags中 - 因为它们是不可变的 美好的一天,但它违反惯例?困惑于新的 员工?
  3. 在新目录releases中 - 因为它是一个新目录 惯例,它会提醒人们稍微不符合标准的使用。
  4. 在与trunk相同的级别添加非标准目录会让我对其他工具感到悲伤吗?乌龟等。

1 个答案:

答案 0 :(得分:0)

  
      
  1. 在分支机构 - 但随后它们只是变得混乱了开发分支等。
  2.   

不,我不会这样做。特别是如果你知道你最终会有很多这样的东西,我会从开发分支中分离出来(也是为了避免新用户的混淆)。

  
      
  1. 在标签中 - 因为它们在美好的一天会变成一成不变的,但它会违反常规吗?对新员工感到困惑?
  2.   

这是恕我直言的第二个最佳选择。

  
      
  1. 在新目录中发布 - 因为它是一个新的约定,它会提醒人们稍微不符合标准的使用。
  2.   

这就是我要放的地方。为什么不为每个应用的错误修复创建一个新标记(点发布,例如2.5.1)?无论如何,新员工必须在开发团队中学习结构/最佳实践/代码约定,因此说“releases/适用于发行版,包括小修补程序”,这样做非常简单。

  

在与trunk相同的级别添加非标准目录会让我对其他工具感到悲伤吗?

不是我知道的。