修改其他开发者提交的贡献
场景
鼓励 Zephyr 贡献者和协作者以审查者身份参与拉取请求,使补丁能够作为原始拉取请求的一部分获得批准并合并到 Zephyr 的主分支。拉取请求的作者有责任在审查流程结束后修订其原始提交。
然而,有时贡献者可能需要修改由其他 Zephyr 贡献者提交的拉取请求中所包含的补丁。例如以下情况:
开发者将其他贡献者提交的提交拣选(cherry-pick)到自己的拉取请求中,以便:
整合已停滞拉取请求中所包含的有用内容,或者
让内容作为更大补丁的一部分合并到项目的主分支
开发者向其他贡献者打开的分支或拉取请求推送,以便:
协助更新拉取请求,从而使补丁合并到项目的主分支
推动停滞的拉取请求走向完成,以便它们能够被合并
被接受的政策
打算拣选并可能修改其他贡献者发送的补丁的开发者应当:
在其拉取请求中说明拣选这些补丁的原因,而不是协助在原拉取请求中合并这些补丁,并且
邀请补丁的原作者参与其拉取请求的审查。
打算强制推送到其他 Zephyr 贡献者的分支或拉取请求的开发者,应当在拉取请求中说明推送以及修改现有补丁的原因(例如说明这样做是为了在拉取请求作者无法完成审查时推动审查走向完成)。
备注
开发者应尽量将上述做法限制在被判定为 stale 的拉取请求上。关于如何判定拉取请求已停滞,请参阅 开发流程与工具
如果原始补丁被大幅修改,开发者可以采取以下任一方式:
(首选)联系原作者,请其确认修改后的补丁可以在保留原始 sign-off 行和作者身份的情况下合并,或者
将修改后的补丁作为其 own 工作提交(即使用其 own 的 sign-off 行和作者身份)。在这种情况下,开发者应在提交信息中指明所提交工作基于的原始来源(例如提及原始 PR 编号)。
备注
贡献者应取消勾选 “Allow Edits By Maintainers” 复选框,以表明他们不希望其他 Zephyr 开发者在其原始分支或拉取请求中修订他们的补丁。