一段时间以来,补丁队列变得难以控制。新加入的内容数量过多,一小群人无法对其进行合理管理。太多内容变得毫无用处,其创建者也被迫接受这个事实。但是一段时间以来,我们一直在执行针对补丁的新政策,对于那些遵循该政策的人来说,该政策似乎更有效。
但是我认为很多人并不知道政策的这些变化,所以我觉得最好在这里再次提及它们。
第 1 步:提高质量门槛
最初的补丁队列失控的原因之一是,许多补丁缺乏优质补丁的基本特质。它们要么缺少充分的理由(我为什么要这样做?有什么好处?)、良好的测试用例或未更新相关文档。应用此类补丁意味着这项工作必须由其他人承担,通常是希望应用补丁的人。
现在,质量门槛更加明显。在您的补丁具有所有这些元素之前,它将不会被考虑用于合并。在您或某位特别关心补丁的其他人员(例如遇到相同问题的人)使质量达到同等水平之前,它将带有“未验证”关键字。然后,该补丁继续执行第 2 步。
第 2 步:让社区参与审查您的补丁
在您的补丁准备好排队合并之前的最后一步是获得社区支持。我们现在要求三个人审查您的补丁、应用它、运行测试、阅读您的文档并喜欢它的功能及其实现方式。他们这样做后,将在工单上加上“+1”进行注释。
获得这三个“+1”,您就可以使用“verified”关键字标记您的补丁。这将使该补丁出现在报告 #12:已验证的补丁中,这会向核心团队发出警报,表示您的补丁已完善,可以进行合并(进行最终审查除外)。
核心团队将始终尝试使报告 #12 为空。在进入“已验证”状态和对您的补丁进行最终审查之间不应有很长的滞后时间,而最终审查将使该补丁返回到“未验证”状态(因为其实现被认为需要进行改进或因为在该补丁处理其业务的方式上存在一些根本性分歧)或者将其应用并在 Edge 中使用。
因此,如果您仍然关注某个还未处理的补丁程序,赶快清理一下,然后按照以下两个简单步骤进行操作,您即可重返胜利之路。无法保证您的补丁程序将立即受到关注,但到目前为止,我们已设法让报告 #12 顺利进行。它目前已全部清空!
http://dev.rubyonrails.org 的首页已更新,反映了此政策。