使用命令行和 yapf 运行文件时,我的标签如下:
-i --verbose --style “谷歌”
当使用与 args 相同的参数进行预提交时,我的预提交挂钩始终返回“通过”。
这是针对相同文件针对相同更改进行测试的,因此我预计会得到类似的结果。如果我 exclude --style "google"
,我的 pre-commit 钩子至少会改变我的文件格式,但不会改变我想要的样式。
有人可以告诉我我在 args 上做错了什么吗?
包含示例的 Python 文件:
def hello_world():
print("hello world")
if 5 == 5: print("goodbye world")
.pre-commit-config.yaml 文件:
- repo: https://github.com/pre-commit/pre-commit-hooks.git
sha: v4.0.1
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- repo: https://github.com/google/yapf
rev: v0.31.0
hooks:
- id: yapf
name: "yapf"
提交时,我的文件将更改,并且预提交告诉我 yapf 已将我的文件更改为以下内容:
def hello_world():
print("hello world")
if 5 == 5: print("goodbye world")
如果我回到同一个 python 文件并将我的 .pre-commit-config.yaml 文件更新为:
- repo: https://github.com/pre-commit/pre-commit-hooks.git
sha: v4.0.1
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- repo: https://github.com/google/yapf
rev: v0.31.0
hooks:
- id: yapf
name: "yapf"
args: [--style "google" ]
运行提交将提供Pass
而不是进行任何更改,即使是以前的更改
编辑 1: .pre-commit.config.yaml 文件已更新为:
- repo: https://github.com/pre-commit/pre-commit-hooks.git
sha: v4.0.1
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- repo: https://github.com/google/yapf
rev: v0.31.0
hooks:
- id: yapf
name: "yapf"
args: [--style, google]
运行pre-commit run
只显示Passed
而不是重新格式化。我还尝试使用 pep8 和其他任意词来代替 google。这些都导致Passed
. 也许在我这边有些东西样式 arg 被忽略并导致所有 yapf 失败?