3

现在我们在分支机构执行工作。这些被合并到主干中并在它们中的功能完成时被杀死。所以主干总是包含最新的稳定代码。

当主干准备好发布时,会在该给定点从主干创建一个标签。现在,我们如何最好地处理需要为先前版本创建补丁的情况?

我们有一个标记该版本的标签。但是主干现在包含更多新功能。如果我们从旧标签创建一个分支,我们如何干净地将补丁修复放入我们的主干,并用新标签标记新补丁版本?

我可以标记从初始发布标签创建的分支重新集成合并分支与我们的主干?或者这会带来问题吗?我觉得它可能会混淆 Subversion。

这张“图片”试图说明流程。

Work branches /-- itter. 1.0 --\      /- 2.0 -\           /------ 3.0 ----------\
             /                  \    /         \         /                   /   \
    ------------trunk----------------------------------------------------------------------  
                                  |                | v2.0 tag              /      | v3.0 tag  
                                  |                                       /
                                  | V1.0 tag----------\                  /
                                                       \-- Branch 1.1 --/
                                                                        |
                                                                        | V1.1 tag

请注意,即使标签和分支在这里位于同一行,它们实际上位于标准的主干、分支、标签文件夹布局中。

注意:工作分支不必与给定的版本有任何关系。我只是将它们命名为 1.0 等。但它们可以命名为foobar或其他名称。

4

2 回答 2

2

更常见的方法是保持发布分支(1.x、2.x、...)打开并从那里标记特定版本。

仅当您停止支持该版本时才关闭分支。

        1.0     1.1         2.0     2.1         (release tags)
       /       /           /       /
   /----------- 1.x       /----------- 2.x      (release branches)
  /                      / 
----------------------------------------------- trunk

无论这个分支是从哪里分支出来的(主干、标签或其他分支),将修复从这样的发布分支合并到主干是安全的。

于 2012-04-26T15:41:16.510 回答
1

我们现在一直在使用从主干标记发布的方法,并在一段时间内需要补丁时从该标记创建一个分支,并且它在单个和多个团队中都可以正常工作。

于 2012-08-10T07:26:38.650 回答