提问人:Opal 提问时间:10/12/2023 最后编辑:anthony sottileOpal 更新时间:10/12/2023 访问量:85
预提交未为 pip-tools 选择文件
pre-commit not picking files for pip-tools
问:
我有以下 repo 结构:
libs/
- l1/
- pyproject.toml
- l2/
- pyproject.toml
batch/
- b1/
- pyproject.toml
- b2/
- pyproject.toml
pipelines/
- p1/
- pyproject.toml
- p2/
- pyproject.toml
pyproject.toml
并配置了以下 pre-commit 钩子:
---
files: .(yaml|yml|py|toml)$
repos:
- repo: https://github.com/jazzband/pip-tools
rev: 7.3.0
hooks:
- id: pip-compile
name: Run pip-compile for 'prod' env.
args:
- -o
- pyproject.lock
- --generate-hashes
- --strip-extras
问题是它只选择存储库根目录的 pyproject.toml 文件。其他的都被跳过了?为什么?我尝试使用选项无济于事。这里有什么问题?files
答:
0赞
anthony sottile
10/12/2023
#1
有两种不同的配置 -- 您覆盖了错误的配置。files
顶层的文件
是整个存储库过滤器 -- 如果需要,它通常用于缩小到特定范围(在大多数用途中并不常见pre-commit
)
你试图覆盖的最初来自钩子本身(它设置文件:^requirements\.(in|txt)$
) -- 覆盖你需要把你的 inside the hook 映射:files
files
repos:
- repo: https://github.com/jazzband/pip-tools
rev: 7.3.0
hooks:
- id: pip-compile
name: Run pip-compile for 'prod' env.
files: .*requirements*.txt|pyproject.toml$
免责声明:我写了预提交
评论
0赞
Opal
10/12/2023
当然,谢谢。这就是我尝试过的。会再做一次。
0赞
Opal
10/12/2023
不,它仍然处理根存储库中的文件,其余部分保持不变。
1赞
anthony sottile
10/12/2023
你可能需要做更多的事情来让输出部分工作——我不熟悉这个特定的钩子
0赞
Opal
10/13/2023
当然,谢谢你的帮助。
评论
pyproject.toml
file://
batch
pipelines
libs