Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing Mercurial-为测试和现场提供独立功能_Testing_Mercurial_Merge_Branch - Fatal编程技术网

Testing Mercurial-为测试和现场提供独立功能

Testing Mercurial-为测试和现场提供独立功能,testing,mercurial,merge,branch,Testing,Mercurial,Merge,Branch,我们要换成Mercurial。 我们计划中缺少的一部分是如何管理build-to-Test Box(和LiveBox)的分支/合并,以便将孤立的功能与StableRelease和build-to-TestBox混合 例如,它的主要用法似乎是 马鞍 TestBanch 特征亚伯拉罕 特色牧场 FeatureUrea和FeatureB的开发将同时进行。看起来最主要的用途是使用带有上述分支的克隆存储库 场景1:如果我们构建测试,我们将合并LiveCode+FeatureUra+

我们要换成Mercurial。 我们计划中缺少的一部分是如何管理build-to-Test Box(和LiveBox)的分支/合并,以便将孤立的功能与StableRelease和build-to-TestBox混合

例如,它的主要用法似乎是

  • 马鞍
    • TestBanch
      • 特征亚伯拉罕
      • 特色牧场
FeatureUrea和FeatureB的开发将同时进行。看起来最主要的用途是使用带有上述分支的克隆存储库

场景1:如果我们构建测试,我们将合并LiveCode+FeatureUra+FeatureB。如果一切顺利,那么我们可以将变更集合并到上游到DefaultStable分支,并使用FeatureUrea和FeatureB构建到LiveBox。工作完成了

场景2:如果我们构建测试,我们将合并LiveCode+FeatureUrea+FeatureB,QA显示FeatureB存在问题。我们不想再构建FeatureB了。我们确实希望在这方面取得进展。我们想自己用FeatureA重新测试,让QA通过测试。然后将其发布到生活中,从而实现业务敏捷性

问题: 如果FeatureB未能通过QA,我们需要从测试分支中取出FeatureB变更集节点,再次构建到TesBox,然后有望将上游合并到DefaultStable分支到LiveBox。
从TestBranch中删除FeatureB变更集节点的最佳方法是什么。我们需要更多关于FeatureB的开发,FeatureB节点集还没有找到。 2.我们需要隔离DefaultStable+特性并构建它以进行测试


其他人是如何管理的?

从stable在功能克隆分支中创建FeatureUrea和FeatureB。测试只是QA/测试工作的一个临时区域,所以我从第一天起就将其视为“一次性的”

当FeatureUrea和FeatureB开发足够时,创建其中一个的克隆,并将另一个拉入QA/测试。为QA进行构建,当他们提供反馈时,对FeatureB进行适当的更改

如果可以升级,则将其拉入/推至稳定状态,然后合并到稳定状态


这比我原来的帖子更清楚吗?

Mercurial工作流中有很多很棒的编写,包括:

所有这些功能的使用都非常少——绝对不是每个功能都使用一个,克隆作为分支听起来像是你(和我)更喜欢的工作模式

针对您的具体问题,如果LiveCode+FeatureUrea+FeatureB组合测试失败,最好的处理方法就是继续修复FeatureB,然后将这些更改合并到FeatureUrea+FeatureB。但是,在您进入该阶段之前,最好让QA分别命中LiveCode+FeatureUrea和LiveCode+FeatureB,这对他们来说稍微需要更多的工作(更多的测试目标),但将每个特性隔离起来有助于更快地找到缺陷的原因

一旦LiveCode+FeatureUrea和LiveCode+FeatureUrea通过QA,然后将它们合并到LiveCode+FeatureUrea+FeatureUrea中,如果仍然通过测试,则将整个过程合并到DefaultStable中。不需要从LiveCode+FeatureUrea+FeatureUrea中删除FeatureB,因为只要创建LiveCode的新克隆,并在需要时仅合并FeatureUrea即可

以下是一个基于Mercurial(窑)的QA/发布流程的很棒的文档:


当A存在时,您是否预见到B会出现问题,还是B本身会出现问题?或者两者兼而有之?我正试图防御a中的一个Bug,而a的开发人员却看不到这个Bug。但是,由B中的一些代码修复。因此,将A和B一起交付测试将不会显示错误。发布一个单独的测试将显示该bug。也许对其他人来说这似乎不太可能,但是,ORM dal在A和B之间共享,并且。。。聚合根是所有时间都在工作的代码的重要共享部分,可能导致这种情况。此外,SQL构建文件等…我们将使用克隆。是的,这是一个显而易见的答案,但在我对水银用法的研究中,并没有明确的说法。似乎人们正在从测试分支分支分支FeatureUrea和FeatureB,并抓住这个长期运行的测试分支。A以您的方式,也许您可以从defaultStable克隆中提取并推送到测试克隆。。。看下面。。。[路径]默认值=默认推送=问题是您找不到明确的答案,因为没有任何答案。DVCS的优点是,它允许您以多种方式工作,并让您决定哪种方式最适合您的环境和约束。我将尝试编辑我的答案,使之更加具体,并提供两种替代方法。是的,你是对的,没有正确的答案。干杯,谢谢你的回答,我们正在尝试一些实验…我也不是建议命名分支,尽管我认为这是你的意思。如果你不是在暗示,那么我很抱歉。干杯,谢谢你的回答,我们将查看参考资料。在我看来,我假设的是稳定、测试和FeatureB克隆中的默认测试分支。也许在所有的回购协议中都应该有一个叫做Branches的Featureia,FeatureB。这样我们就知道哪些技术集节点在哪个功能中…干杯,谢谢你的回答,我们将查看参考资料。在我看来,我是在Stable、test、FeatureUra、FeatureB克隆repos中假设defaultStable、test分支。也许在所有的回购协议中都应该有FeatureA,FeatureB命名的分支机构。这样,我们知道当技术集到达defaultStable分支时,哪些变更集节点处于哪个功能中@mikezx6r我不是想纠正你的答案,我只是从来没有错过一个机会来提供与Steve Losh相关文章的链接,因为他非常清楚。好吧,我通读了上面的参考文献。也许我们