SVN最佳实践帮助

时间:2009-11-09 13:59:16

标签: svn

我有以下结构(例子):

trunk/
branches/v1.0.0
branches/v1.0.1
tags/v1.0.0

我的问题是:分支版本1.0.0和1.0.1有不同的实现,我需要修复版本1.0.0中的错误,我该怎么做?

  • 我需要修复分支1.0.0中的错误 然后复制到一个新的分支和 与trunk合并?
  • 或者我需要复制到一个新的分支和 修复新分支上的错误,之后 与trunk合并?
  • 或者我需要在后备箱中修理 将主干复制到新分支?

PS:我无法发布1.0.1版的实现。我做了什么?

谢谢。

3 个答案:

答案 0 :(得分:4)

  1. 将其修复在分支上,因为可能需要从该分支部署更新版本的代码。
  2. 修复和部署分支时,您需要将该版本标记为已发布 - 以防出现其他问题,以便您可以看到自己的位置。
  3. 现在问题变成你需要将该修复程序集成到主干和/或任何其他分支中,如果是这样的话。从广义上讲,我希望将更改合并到主干中,并且可能期望将其合并到其他分支(从主干,仔细),但细节将在一定程度上取决于您如何组织开发(无论您是否倾向于在分支机构或在主干开发的主干)。它还取决于您在分支中修复的问题是否仍然是主干(或其他分支)中的问题,因为您正在修复的代码可能已被重构或更全面地解决了错误。

答案 1 :(得分:2)

将其修复到分支中,如果需要合并到主干。 最终它也应该在1.0.1?因为如果没有,也许你需要一个新项目? 无论如何,避免打开太多的树枝,你会在那里松开手......

答案 2 :(得分:0)

如果这个bug也存在于trunk上,那么我通常会先尝试修复它,然后将我的更改合并到我认为需要接收修复的任何分支。