【发布时间】:2022-09-28 17:23:15
【问题描述】:
使用命令行和 yapf 运行文件时,我的标签如下:
-i --verbose --style \"google\"
当使用与 args 相同的参数进行预提交时,我的预提交挂钩始终返回“通过”。
这是针对相同文件针对相同更改进行测试的,因此我预计会得到类似的结果。如果我排除
--style \"google\",我的预提交挂钩至少会更改我的文件格式,但不会更改为我想要的样式。有人可以告诉我我在 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 失败?
-
这是不可重现的——为了能够帮助您解决问题,您需要显示最少的代码集,以便我们可以看到您所看到的。在这种情况下,您需要至少一个python文件和你的问题中的配置
-
@AnthonySottile 对此感到抱歉,只是在我的配置中添加了一个明确的 python 文件示例。
-
你有一个错字,你想要
args: [--style, google] -
@AnthonySottile 嗯,不幸的是,它似乎仍然无法正常工作。把它改成那个仍然只是给我
Passed -
我无法重现,当我正确格式化
args时,它确实修复了您在这篇文章中提供的代码
标签: pre-commit-hook pre-commit.com yapf