flake8 --diff не работает из каталога, кроме корня хранилища
Дерево репозитория показано выше
.
├── __init__.py
└── source
├── __init__.py
└── main.py
файлmain.py
def add(a, b):
return a + b
Когда я меняю файл main.py
в
def add(a, b):
return a +b
и сделать git diff -U0 | flake8 --diff
из корня репозитория это показывает мне
source/main.py:2:15: E225 отсутствует пробел вокруг оператора
но когда я делаю ту же команду из source
папка ничего не показывает
В тот же момент git diff -U0
показывает одинаковый результат внутри корневого хранилища и source
папка
diff --git a/source/main.py b/source/main.py
index 4693ad3..fd47298 100644
--- a/source/main.py
+++ b/source/main.py
@@ -2 +2 @@ def add(a, b):
- return a + b
+ return a +b
1 ответ
Решение
Очевидно, что flake8 хотел бы, чтобы пути в выходных данных были относительно текущего рабочего каталога. Это означает, что вы хотите:
git diff -U0 --relative | flake8 --diff
так как по умолчанию, git diff
производит:
--- a/source/main.py
+++ b/source/main.py
как в вашем примере. Добавление --relative
(по умолчанию это текущий каталог) должен выдать:
--- a/main.py
+++ b/main.py
вместо.