后续审查
PR 首次审查之后,HeyDeer 会审查新的改动,并重新检查此前的问题。了解其工作方式,以及如何决定不处理发现的问题。
只审查新改动
只审查新改动默认开启,位于工作区设置 → 审查规则 → 如何审查,也可以在某个仓库的审查规则中设置。它适用于自动审查和手动发起的审查。
后续审查只在自 HeyDeer 上次成功审查以来、PR 自身提交所做的改动中查找新问题。它还会重新检查上次审查发现的问题,仍然存在的问题会计入检查和批准的判断。
从目标分支合并或变基进来的提交不在审查范围内,但解决冲突的改动会审查。自上次审查以来新增或修改的仓库检查会应用于整个 PR。
后续审查的导览仍覆盖整个 PR,并标记自上次审查后文件有变更的改动组。
此前的问题
此前的问题是指 HeyDeer 在之前的审查中,于自己发起的代码行上的审查讨论里提出的问题。之后的每次审查都会对照当前代码,重新检查其中尚未解决的问题。
仍然存在的问题列在此前仍需处理的问题下。HeyDeer 无法关联到发现的问题的旧讨论列在此前仍需确认的问题下;不再适用时请将其标记为已解决。
仍未解决或尚未确认的此前问题会显示在检查摘要中,并阻止自动批准。开启发现问题时将检查标记为失败时,它们还会让检查失败。
HeyDeer 只把自己发起的讨论标记为已解决。开启将已处理的 HeyDeer 讨论标记为已解决(默认开启)时,只要当前代码修复了问题或证明问题并不存在,HeyDeer 就会把讨论标记为已解决。只回复“已修复”不算。
从修复 PR 合并的改动,会在原 PR 的下一次审查中以同样方式重新检查。
决定不处理发现的问题
在该问题的讨论中回复并说明原因,例如行为是有意为之或已在 issue 中跟踪,或将讨论标记为已解决。由拥有写权限或更高权限的人决定不处理后,HeyDeer 不再复查这个问题,也不会再次提出,即使代码中仍然存在这个问题。其他回复只作为背景参考。
HeyDeer 何时审查整个 PR
- 首次审查,或只审查新改动关闭时的任何审查。
- 有人评论了
@heydeer full review。 - 自上次审查以来,目标分支发生了变化。
- 有人对 HeyDeer 已审查过的提交再次发起审查,例如在补充上下文之后。
- 上次审查带有审查说明(例如省略了部分问题、匹配的检查过多或评估不完整),或提出了待澄清的疑问。
- GitHub 上已不存在上次审查的提交。
检查的摘要以及 HeyDeer 中该审查的审查内容一行会显示审查覆盖的是新改动还是整个 PR。
已有的讨论
HeyDeer 会把 PR 描述作为上下文阅读。评论、审查正文和其他人的审查讨论不会成为此前的问题,也不会阻止 HeyDeer 发布发现的问题。