我的团队正在使用SVN来管理他们的源代码管理。我已经接受了任务,看看是否有改进我们使用SVN的方式。使用SVN进行多版本开发
我已经阅读了很多SVN书,并且对其他人如何使用SVN做了大量的研究。
我要去给我们如何使用svn进行概述,希望有人给我一些建议。
首先,我们每个月或两个月发布一次。因此,目前我们使用trunk作为代码的生产副本,并为每个计划交付和每个生产修复创建一个发布分支。
我们通常有两个,有时三个计划交付在同一时间。例如,我可能正在编写发行版本3,但我或其他人正在测试发行版本2并为发行版本1进行最终错误修复。可能还有一个生产修复程序正在同时进行。
现在我们做了大量的合并工作,以保持分支机构(每个版本)的同步。发行版3需要2和1的代码,但我们显然不希望发行版3的新代码进入发行版1.因此,我们将执行从发行版1到发行版2以及发行版2到发行版3的一系列合并。必须定期进行多次,以上发布3编码器具有从2或1
bug修复每当释放或产生修复投产,我们将这些代码合并到主干。然后我们将它从主干(或刚刚投入生产的发布分支)合并到所有活动分支中。
正如你可能已经注意到我们花了很多时间合并。
对于控制源代码控制的人来说,这是很多工作。他们不断地进行合并,并确保他们跟踪哪些分支合并在哪里。
好像SVN作为我们的源代码控制管理系统(我知道这是真的只有版本控制,但我们都用它来管理我们的源代码控制),应该能够帮助我们了这一点。
例如,如果开发人员在Release 3上工作时知道何时在版本2,发行版本1或主干上发生了某些变化,并且开发人员可以自动通知并且可以进行合并以将更改变为他的分支。但相反,有人必须知道手动进行所有合并......看起来像人正在做太多的工作,而且机器做得不够。
有没有人对我们如何能够更好地利用SVN的功能有所想法,这样我们就可以节省自己的一些头痛问题,并确保每个人都始终使用他们应该是的代码版本!
谢谢!
什么是您的上下文中的_release_?某些固定的功能集__必须在一批中交付,并且截止日期有些灵活,或者功能可能有所不同的某个固定截止日期? –
固定日期,如果功能无法完成,那么我们将它们推送到下一个版本。他们是集成版本,我的团队是同一时间表上发布代码的众多人员之一。生产修复只是像他们一样发生。我们根据优先级将它们分别推到生产中...... – kralco626