修复标记版本中的错误(颠覆)

时间:2012-07-19 10:07:32

标签: svn version-control merge tortoisesvn branching-and-merging

我们使用SVN进行版本控制。主要开发在 trunk 中完成,并且在适用于每个用户的情况下创建分支(当预期的更改很复杂时)。

有时会对经过测试的版本进行标记(例如 /tags/v0.4 )。

但是,有时可能会在 trunk 中修复严重的错误(在其他开发过程中)。

现在我要创建一个 /tags/v0.41 标记,它与 /tags/v0.4 相同,但只修复了这个严重错误(可能存在多个严重错误,但肯定不是来自 trunk 的所有内容。

如何使用TortoiseSVN?

我会建议这样的事情:

  1. /tags/v0.4 创建一个分支(svn copy)到 /tags/v0.41
  2. 将适用的更改从 trunk 合并到 /tags/v0.41 并提交。
  3. 但这是一个好主意吗?

    如何从特定的 trunk 版本(以及其他任何内容)合并到 /tags/v0.41 实际上,这不再是一个标签,而是一个不太合适的分支......

1 个答案:

答案 0 :(得分:6)

您概述的程序是正确的。

需要创建分支以确保仅将针对特定错误的修复提交到新的稳定版本(到 trunk ),并且不会移植任何其他(并且可能破坏)的功能来自开发版本的错误。

  • trunk 中搜索专门修复错误的提交 找到了,

  • 从中创建补丁并将其应用于 /tags/v0.41 工作副本 (或者只将所需的 trunk 修订版合并到 /tags/v0.41 中 工作副本)。

注意:如果有多次提交或者没有提交只修复错误而没有触及任何其他内容,则必须手动将相关的代码行复制到新的标记版本中!