flake8 --diff не работает из каталога, кроме корня хранилища - PullRequest
0 голосов
/ 26 декабря 2018

Дерево репозитория отображается как показано выше

.
├── __init__.py
└── source
    ├── __init__.py
    └── main.py

main.py file

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 Ответ

0 голосов
/ 27 декабря 2018

Очевидно, что flake8 хотел бы, чтобы пути в выходных данных были относительно текущего рабочего каталога.Это означает, что вы хотите:

git diff -U0 --relative | flake8 --diff

, поскольку по умолчанию git diff производит:

--- a/source/main.py
+++ b/source/main.py

, как в вашем примере.Добавление --relative (по умолчанию это текущий каталог) должно привести к:

--- a/main.py
+++ b/main.py

.

...