gpt4 book ai didi

git - Flake8 配置未在 git hook 中应用

转载 作者:行者123 更新时间:2023-12-05 05:10:03 27 4
gpt4 key购买 nike

我有一个 pre-commit git 钩子(Hook),如果添加的行不遵循指定的样式指南,它应该会阻止提交。

所以在我的 repo 的根文件夹中,我有一个 .flake8 文件,如下所示:

[flake8]

########## FORMATTING ##########
# Print the total number of errors.
#count =
## Print the source code generating the error/warning in question.
#show-source =
## Count the number of occurrences of each error/warning code and print a report.
#statistics =

########## OPTIONS ##########
# Set the maximum length that any line (with some exceptions) may be.
max-line-length = 90
# Set the maximum allowed McCabe complexity value for a block of code.
max-complexity = 10

########## RULES ##########
ignore = D102,D103,E265

########## TARGETS ##########
# Redirect all output to the specified file.
#output-file =
## Also print output to stdout if output-file has been configured.
#tee =

我的 git hook 位于 .git/hooks/pre-commit 下,具有完全权限:rwxrwxrwx(我知道这不是最安全的)。

#!/bin/sh
#
# Checks so that the file is correctly linted, before commiting.
# Using the same linter settings as defined in the repo root .flake8
#

LINT=$(git diff -- '***.py' | py -3 -m flake8 --diff --config="../../.flake8")
#LINT=$(git diff -- '***.py' | py -3 -m flake8 --diff --max-line-length=90)

if [ -z "$LINT" ]
then
exit 0
else
echo "$LINT"
exit 1
fi

如果我将 LINT 变量更改为注释掉的变量,这个钩子(Hook)就会起作用。然后它标记太长的行。但是,如果我改为指定我的配置文件,那么它不会标记它。

我认为错误是 --config="../../.flake8 不知何故不正确。我在 cygwin 下的 Windows 机器上运行它(所以路径的格式应该正确,不是吗?)。

或者我的配置文件不知何故是错误的,因此它没有被应用。

最佳答案

Hook 在存储库的根目录中运行,因此选项应该只是 --config=.flake8

关于git - Flake8 配置未在 git hook 中应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57077740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com