2008-10-20 92 views
5

如果我们需要发布一个不包含当前已提交的开发或者与当前版本相比发生的任何更改的错误补丁,应该采取什么措施使此过程更安全,高架?源代码管理和错误修复的最佳实践

我们目前在一个主要在Visual Studio 2008中开发的小型(3个开发人员)团队中使用Subversion进行源代码管理。我们预计该团队可能会在明年与8个开发人员进行分组,并为以前的任何版本提供支持变得更加复杂。虽然大多数客户都在使用最新的版本,但有些版本进一步落后。

回答

6

源代码管理可以很容易地处理这个问题,并且是为此设计的。

当您达到发布的稳定期时,应该完成一个分支。在完成此操作之前,不要在下一个版本中开始任何工作,这一点很重要。

该版本的任何错误修复都应该在该分支中完成。这可以防止即将发布的新代码污染错误修复。一旦错误修复完成后,您可以将该更改合并到中继,以及任何其他版本(如有必要)。

不要忘记在注释中加入错误号,因为这样可以更轻松地跟踪提交。

+0

这就是我们如何做到的。很棒! – 2008-10-20 17:53:12

3

怎么样:每个主要版本的分支,根据需要将错误修复应用于分支,并且还应用(或合并)回主干。

0

我在哪里工作,我们有几个项目同时工作。为了避免这个问题,我们有几个源代码版本。例如,第一个版本是Variant 1.0。我们在这个版本中创建了一个分支,比如Variant 2.0,用于所有未来的开发。如果我们需要修复漏洞,我们会在主要的Variant上进行修改,它目前是1.0,并且可以释放它。当Variant 2.0准备好投入生产时,我们将它与主分支上的任何东西(在本例中为1.1)合并,并成为新的主干。有一次,我们有4个分支同时运行。

合并代码可能非常耗时,并且在合并期间必须小心不要引入新的错误,但是如果您有可用的体面代码比较工具,那么它不应该太糟糕。我们在10000个文件源目录中使用Beyond Compare进行了一次合并,并且花了一个早上。

+0

我认为这可能比在每个主版本的主干和主干分支上进行开发变得更加复杂,并且在需要时将其分支出去。 – 2008-10-20 19:53:45