这是一个很好的集中式DVCS工作流程吗?

时间:2010-03-31 17:26:44

标签: mercurial dvcs

我倾向于使用来自Subversion的Mercurial,我想维护一个像Subversion一样的集中式工作流程。这就是我的想法:

stable (clone on server)
    default (branch)
    development (clone on server)
        default (branch)
        bugs (branch)
            developer1 (clone on local machine)
            developer2 (clone on local machine)
            developer3 (clone on local machine)
        feature1 (branch)
            developer3 (clone on local machine)
        feature2 (branch)
            developer1 (clone on local machine)
            developer2 (clone on local machine)

就分支机构与克隆而言,这个工作流程是否有意义?我有事情吗?

此外,'稳定'克隆是释放。将'默认'分支作为发布以及所有其他分支最终合并到什么内容是否有意义?

3 个答案:

答案 0 :(得分:8)

答案 1 :(得分:1)

你在这里做的是建立一个workflow of merges,在存储库之后应该遵循存储库(分支)。

关于那个工作流程,我会把bug分支/ repo放在开发之外,因为它通常是在稳定(即发布到生产)分支之后创建的一个分支,你可以隔离一些bug修复

stable (clone on server)
    default (branch)
    bugs (branch)
        developer1 (clone on local machine)
        developer2 (clone on local machine)
        developer3 (clone on local machine)
    development (clone on server)
        default (branch)
        feature1 (branch)
            developer3 (clone on local machine)
        feature2 (branch)
            developer1 (clone on local machine)
            developer2 (clone on local machine)

,而不是所有错误修复将最终出现在开发分支中,因为其中一些修补程序仅针对当前版本进行了定制,而当前开发可能具有已经使它们过时了。

  

将'default'分支作为发布以及所有其他分支最终合并到什么内容是否有意义?

我还会使用第一个“默认”分支(位于稳定分支下方)作为合并分支,因为并非每个功能都会在该整合分支中结束:目前开发的一些功能太复杂,无法及时准备好下一个版本。

答案 2 :(得分:0)

很大程度上取决于团队中的开发工作流程。在我工作过的最后一个(小)团队中(虽然我们使用了svn) - 单独的bugs分支最终变得多余,错误被修复了它们所属的分支。此外,我们没有使用单独的stable分支,而是稳定了发布的开发分支。