我正在尝试在存储库的某个目录(模型/市场)上实现 SQLFLUFF linter。我正在使用这个命令
pre-commit run --files models/market/
我看到的是它正在跳过显示此消息的目录中的 .sql 文件:
sqlfluff-lint........................................(没有文件可 检查)已跳过
虽然该路径包含多个sql文件。 这是 pre-commit-config.yaml 文件:
repos:
- repo: https://github.com/sqlfluff/sqlfluff
rev: 2.1.3
hooks:
- id: sqlfluff-lint
verbose: true
additional_dependencies: [
'dbt-bigquery==1.5.1',
'sqlfluff-templater-dbt==2.1.3'
]
值得注意的是,这条路径不包含在
.sqlfluffignore
中
我尝试了各种命令,例如这里的命令: https://github.com/pre-commit/pre-commit/issues/1173
我期望的是让 SQLFLUFF lint 我的 sql 文件在提到它的路径的某个目录中。
--files
参数采用文件——你已经传递给它一个单一的目录
尝试一下
pre-commit run --files $(git ls-files -- models/market)
在你建议“它应该递归”之前,
git
中有一些特殊文件,它们是目录——特别是子模块——并且这些文件有特殊的含义。
免责声明:我写了预提交