Pre-commit 钩子跳过目录中的文件

Pre-commit hook skips files in directory

提问人:Masoud 提问时间:8/4/2023 最后编辑:anthony sottileMasoud 更新时间:8/5/2023 访问量:257

问:

我正在尝试在存储库的某个目录(模型/市场)上实现SQLFLUFF linter。我正在使用此命令,我看到的是它正在跳过显示此消息的目录中的 .sql 文件:pre-commit run --files models/market/

sqlfluff-lint......................(没有文件 check)跳过

而此路径包含多个 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 在提到其路径的某个目录中检查我的 sql 文件。

lint pre-commit-hook 预提交 pre-commit.com sqlfluff

评论


答:

1赞 anthony sottile 8/5/2023 #1

这个参数需要文件 -- 你已经向它传递了一个目录--files

请改为尝试pre-commit run --files $(git ls-files -- models/market)

在你建议“它应该只是递归”之前,有一些特殊的文件是目录--特别是子模块--这些文件有特殊的含义。git


免责声明:我写了预提交

评论

0赞 Masoud 8/7/2023
谢谢安东尼,你能帮我解决这个问题吗?stackoverflow.com/questions/76847893/......