合并后对齐钩子计数:master 已 18 个,并补记 stages 的真实来源
master 比本分支基线多一个 test-cppcheck 钩子,故"定义数 / CI 报告数"由 17/16 变为 18/17(实测本地跑 --all-files 得 17 条:passed=16 failed=1,那 1 个 failed 是本机 .map 陈旧导致的 mem-numbers,与门禁逻辑无关)。 同时更正一处机制性误述:stages:[commit-msg] 并不在项目配置里,它写在 gitlint 上游的 .pre-commit-hooks.yaml(本机可查证 ~\.cache\pre-commit\repo*\),所以在 .pre-commit-config.yaml 里 grep stages 一无所获、极易误判成"没有限制"。 受影响四处:AGENTS.md、ci.yml 头注释、测试开发标准流程 §9.1、CI配置指南 §6 与 变更记录,另 ci_local.py 文档串。
This commit is contained in:
+4
-3
@@ -11,9 +11,10 @@
|
||||
L0 静态门禁 = `pre-commit run --all-files` + 提交信息门禁(gitlint)
|
||||
L0.5 主机侧纯逻辑单测 = `test/host/**/run_unit_test.py`
|
||||
|
||||
⚠️ gitlint 必须**单独跑**(2026-10-11 审计):该钩子声明 `stages: [commit-msg]`,
|
||||
而 `pre-commit run --all-files` 只跑 pre-commit stage —— 它既不在 --all-files 里,
|
||||
CI 也一度漏掉(17 个钩子只报 16 个,且表现为"全绿")。本脚本与 CI 的
|
||||
⚠️ gitlint 必须**单独跑**(2026-10-11 审计):`stages: [commit-msg]` 写在 gitlint **上游**
|
||||
的 `.pre-commit-hooks.yaml`(项目 `.pre-commit-config.yaml` 里查不到这一行),而
|
||||
`pre-commit run --all-files` 只跑 pre-commit stage —— 它既不在 --all-files 里,
|
||||
CI 也一度漏掉(18 个钩子只报 17 个,且表现为"全绿")。本脚本与 CI 的
|
||||
`scripts/ci_gitlint_range.ps1` 同语义:逐条把最近 N 条非 merge 提交的
|
||||
message 喂给钩子。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user