Svn 对于';樱桃采摘&x27;要部署的分支?

Svn 对于';樱桃采摘&x27;要部署的分支?,svn,deployment,Svn,Deployment,在我们使用SVN的情况下,开发人员拥有我们想要实现的功能的分支,以及需要修复的缺陷,有时是实验性分支或尖峰 我们还有一个“staging”分支,它指示staging服务器的当前状态 在部署到登台服务器的过程中,我们必须确定什么准备好登台,什么不准备登台。目前,这是通过询问每个开发人员并相信他们会记住哪些功能或错误准备好升级来完成的,有时是几周前 我肯定有更好的方法,但我不确定该走哪条路: 当开发人员完成一个项目并准备好登台时,将 它位于标签文件夹中,如/tags/readyforstaging/

在我们使用SVN的情况下,开发人员拥有我们想要实现的功能的分支,以及需要修复的缺陷,有时是实验性分支或尖峰

我们还有一个“staging”分支,它指示staging服务器的当前状态

在部署到登台服务器的过程中,我们必须确定什么准备好登台,什么不准备登台。目前,这是通过询问每个开发人员并相信他们会记住哪些功能或错误准备好升级来完成的,有时是几周前

我肯定有更好的方法,但我不确定该走哪条路:

  • 当开发人员完成一个项目并准备好登台时,将 它位于标签文件夹中,如/tags/readyforstaging/?然后将每次部署后的内容移动到/tags/archive/?(但这会影响修订历史吗?)
  • 与#1的想法相同,但创建一个新的根文件夹以避免与标记的静态性质混淆,如/ready/staging/和/ready/archive/
  • 我不确定我们是否可以让开发人员直接合并到staging中,因为无论出于何种原因,我们可能不希望他们的功能出现在下一次部署中

    有没有人知道一个好的方法,这样我们就有了一个明确的列表,列出了所有准备就绪但不会破坏修订历史/图表的内容?

    无论如何,这不是一个“好方法”,但至少在实际项目中是可行的

    如果严格“每任务分支”策略,您可以使用“不稳定主干”游戏:

    • 主干只有来自任务分支的合并集(作者必须将完成的自己的分支合并到主干中,每次合并后必须执行集成测试,对有问题的分支应用修复,并在需要时执行重新合并)
    • 对于干净、可读性好的主干历史记录,不必将任何反向合并添加到主干中(当集成测试失败时,在修复之前),“Ready4Staging”可以是repo中的附加特殊URL,并且必须是合并到暂存分支的单一权威源