预提交挂钩会跳过目录中的文件

问题描述 投票:0回答:1

我正在尝试在存储库的某个目录(模型/市场)上实现 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 文件在提到它的路径的某个目录中。

lint pre-commit-hook pre-commit pre-commit.com sqlfluff
1个回答
0
投票

--files
参数采用文件——你已经传递给它一个单一的目录

尝试一下

pre-commit run --files $(git ls-files -- models/market)

在你建议“它应该递归”之前,

git
中有一些特殊文件,它们是目录——特别是子模块——并且这些文件有特殊的含义。


免责声明:我写了预提交

© www.soinside.com 2019 - 2024. All rights reserved.