【问题标题】:How to test new features without corrupting the trunk?如何在不破坏主干的情况下测试新功能?
【发布时间】:2009-09-09 10:49:35
【问题描述】:

我为每个新功能创建分支。然后我将它们合并到主干中,然后将它们发送到测试站点。这意味着主干不稳定。

不知道有没有更好的办法。

编辑 阅读评论后,我意识到我应该指定它是一个网络应用程序。所以一个测试每个分支的网站似乎有点难以维护。

【问题讨论】:

    标签: svn version-control


    【解决方案1】:

    我使用以下:

    分支:不总是编译,不总是稳定

    trunk:总是编译,并不总是稳定

    标签:始终编译,始终稳定

    在将标签转换为实时发布标签之前对标签进行最终测试。

    这样后备箱不稳定也没关系

    【讨论】:

    • 我真的很喜欢这个评论,我想很多人在使用合并分支到主干时忘记了集成问题。
    【解决方案2】:

    我更喜欢保持主干始终稳定,我在here这个话题上讨论得很好

    【讨论】:

    • 我也是。我现在意识到真正的问题是当它是一个 Web 应用程序时该怎么做。 QA 分支的网站需要多个 Apache 配置。
    • 我猜是某种自动化设置,我们现在在这个模型中有网站内容和应用程序内容,并且运行良好。
    【解决方案3】:

    有一件事是,您可以在合并回来之前在分支上进行测试。此外,主干通常不被视为稳定的开发,您不时制作快照,在不添加功能的情况下修复错误(甚至删除有错误或不完整的功能)并将这些分支作为稳定版本发布。

    编辑:进一步解释一下:长时间保持功能分支与主干分离可能会导致集成问题。您的团队认识到后期冲突更改 - 不仅在源级别,而且在语义或数据级别。保持主干电流可以快速发现此类问题。因此我更喜欢稳定在一个单独的分支上。

    【讨论】:

      【解决方案4】:

      你可以有分支/新功能和分支/稳定

      主干不是稳定的,但是当你将主干“冻结”在一个分支中时……那就是稳定的分支。

      【讨论】:

        【解决方案5】:

        您需要主要使用“标签”,它只是将特定版本的主干标记为稳定的东西。标签通常用于标记发布,这意味着代码对于标记的版本是稳定的。

        做到这一点的方法是维护一个所有成员都贡献代码的主干。如果一个成员想要开发和测试一个新特性,他会创建一个分支,开发他的东西,测试它,然后合并到主干中。当您决定发布下一个稳定版本的主干时,您会测试主干代码,如果发现稳定,则将该特定版本的主干标记为发布版本或稳定版本。否则,修复主干或分支中的错误并将其合并回主干,再次测试主干,如果发现稳定,将其标记为稳定版本。在这里,您始终将标签视为稳定版本,将主干视为开发版本,将您的分支视为实验版本。

        但即使在这里,您也需要对进入后备箱的内容以及决定稳定版本的内容进行一些质量控制。

        【讨论】:

          【解决方案6】:

          为什么在测试完成之前将开发合并到主干?您可以等到测试确保更改不会破坏您的系统,然后再将它们合并到主干,

          您的一般合并策略是什么?你有发布分支还是从主干发布?

          【讨论】:

          • 主干包含版本。它也是一个网络应用程序。我们遵循以下程序: - 开发人员正在他们的机器上使用“暂存”数据库; - 然后将更改推送到使用与开发人员相同的数据库的暂存区域; - 如果测试通过,我们将文件推送到我们的预生产网站上,该网站连接到具有新数据的数据库; - 如果一切正常,我们会将所有修改推送到生产环境。
          【解决方案7】:

          在合并回主干之前不能测试分支吗?

          否则像Mercurial 这样的分布式版本控制系统可能是前进的方向。有了它,您可以为每个功能定义新的存储库,并进行测试,然后推送到“主干”存储库。

          【讨论】:

          • 为什么总是有人不知道如何分支时,神奇的银弹是DVCS?对不起,无能不能靠工具来。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-12
          • 2016-07-03
          • 1970-01-01
          • 2011-11-10
          • 1970-01-01
          相关资源
          最近更新 更多