SVN在快速变化的高周转特性环境中分支和合并

标签 svn branch merge

我希望这是有道理的,如果之前已经介绍过这一点,我深表歉意。

情况:我们定期发布到生产环境。至少每两周一次,但通常一周最多可以发布三个版本。我们拥有一支由 3xSE、2xWD、3xQA 和技术经理/主管(我)组成的专注团队。团队会根据需求而波动,但我们通常发现 QA 的规模会在接近尾声时急剧增加,以应对延迟的需求/ Assets 或大型回归测试阶段。 6 个标准功能分支通常针对发布日期,还有一个主干兼作发布分支。虽然存在合并和分支的开销,但我们已经非常擅长将其归结为一门艺术。因此,每当从某个特征分支合并到主干时,我们就通过定期从主干合并到特征分支来维护分支。这为我们提供了灵活性,允许我们的客户改变他们的需求、撤回整个版本等,而不会对在单独分支中完成的版本的其他元素产生太大影响。

问题:我想看看改进这个过程的方法,我们已经研究了在主干存储库中完成所有工作的选项,分支到 QA 存储库,然后分支到发布分支。如果主干需要的话,我们仍然可以使用功能分支,尽管这可能会令人不悦。我的观点是,为了将网站的两个主要元素(内容和功能)结合在一起,我们需要使事情与时间相关。 IE。提供一种机制来将时间依赖于内容(我不确定您是否可以依赖于功能)。这个过程的成本相对较高,如果它不起作用,我们很快就会发现,因为我们无法足够快地响应客户。请记住,目前客户可以在各自的 UAT 环境中查看我们的每个功能分支和主干。

有人有什么建议或者以前遇到过类似的情况吗?

谢谢

最佳答案

您是否使用 SVN 1.5,如果您是,我会认真研究一下“svn merge --reintegrate”功能。

关于SVN在快速变化的高周转特性环境中分支和合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/616389/

相关文章:

ruby-on-rails - Capistrano 部署删除数据库?

windows - 如何在 Windows 上将 svn 存储库转换为 git

git-shell 等同于 svnserve -r?

mercurial - 防止推送添加到关闭分支的提交

python - 合并具有重叠时间范围的时间范围元组列表

svn - 使用 switch 代替合并

version-control - Team Foundation Server 2010 中的分支图标,可以删除吗?

Git 更新分支到 master

除工作副本根以外的路径上的 SVN Mergeinfo 属性

merge 成功后 Git rebase 冲突?