运行预提交,排除多个钩子的目录

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

我正在尝试配置预提交以避免目录

app/test/

我可以直接在钩子上排除它,例如 avec mypy :

在命令行中:

mypy . --exclude ^app/test/$

在pre-commit.yaml文件中

-   id: mypy
    name: mypy
    entry: .
    args: ["--exclude", "^app/test/$"]
    language: python
    types: [python]

效果非常好。

我想直接在预提交配置中排除它(https://pre-commit.com/#top_level-exclude),因为我正在使用多个钩子

但是我无法让它工作。到目前为止,我已经在我的预提交文件中尝试了类似的组合:

exclude : ^app/test/$
repos :
[...]

您对我应该如何做有什么想法吗?

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

您通过设置

pre-commit
破坏了 <=>mypy
 
entry: .
集成(这甚至不起作用?我怀疑这不是您的实际代码,而是编写了
args: [.]
这也破坏了集成,但是以对所有代码进行双重检查的方式)

mypy 也是一个棘手的问题,因为它默认会遵循您的导入 - 因此您需要将其从 mypy 配置中传递的 and 文件中排除。

我的推荐:

    不要覆盖 mypy 的
  • entry
    args
    ——如果你这样做了,不要添加 
    .
     到它,因为它会使所有内容双重 lint 并破坏文件过滤
  • 将您的特定模块添加到 mypy 的配置文件中以忽略它

免责声明:我写了预提交

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