一段时间以来,补丁队列变得越来越混乱。涌入的新条目太多,一个小团队根本无法合理管理。太多东西变得过时,其创建者也变得灰心丧气,这也可以理解。但是,现在我们已经实施了一项关于补丁的新政策,对于遵循这项政策的人来说,效果似乎好多了。
但我感觉相当多的人并没有意识到这些政策上的变化,所以我想最好在这里再次提及它们。
第一步:提高质量门槛
原始补丁队列之所以失控,部分原因是收到的补丁中有许多缺乏优秀补丁的基本要素。它们要么缺少一个好的理由(我为什么要这样做?有什么好处?),要么缺少良好的测试用例,要么没有更新相关的文档。应用这样的补丁意味着这些工作必须由其他人来承担,通常是想应用该补丁的人。
现在,质量门槛更加明显。在具备所有这些要素之前,您的补丁根本不会被考虑纳入。它将带有“未经验证”关键字,直到您或特别关心该补丁的其他人(比如遇到同样问题的人)将其质量提高到标准。然后,补丁将进入第二步。
第二步:让社区参与评审您的补丁
在您的补丁可以进入合并队列之前,最后一步是争取社区的支持。我们现在要求必须有三个人评审您的补丁,应用它,运行测试,阅读您的文档,并喜欢它所做的事情以及它的实现方式。当他们这样做时,他们会在工单上发表评论并加上“+1”。
获得三个这样的“+1”后,您可以为您的补丁打上“已验证”关键字。这样,补丁就会出现在 报告 #12:已验证的补丁 中,这是一个信号,告诉核心团队您的补丁已经准备就绪,可以合并(在最终评审通过的情况下)。
核心团队正努力使 #12 报告始终保持为空。从“已验证”到最终评审您的补丁之间不应该有很大的延迟,最终评审将要么将其退回未经验证(因为认为实现需要改进,或者因为在补丁是否以及如何处理其业务方面存在根本性分歧),要么将其应用并提供在 edge 版本中。
所以,如果您有一个您仍然关心且已在队列中的补丁,请将其重新整理一下,并完成这两个简单的步骤,您将重回荣耀之路。您的补丁仍然不能保证立即得到关注,但到目前为止,我们已经设法让 #12 报告非常顺利地进展。截至今天,它完全是空的!
http://dev.rubyonrails.org 的首页已更新,以反映这项政策。