首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Makefile pep8仅检查git差异

Makefile pep8仅检查git差异
EN

Stack Overflow用户
提问于 2017-01-06 10:56:48
回答 1查看 736关注 0票数 0

我们在代码库的Makefile中使用pep8目标来检查所有python文件的PEP8兼容性:

代码语言:javascript
复制
## Check all python files for compatibility with PEP8
PEP8FLAGS := --ignore=E201,E202,E241,E265,E501,E711,E712,E713,E714,E721,W391,W291,W293,W601,W603
pep8:
    pep8 $(PEP8FLAGS) .

我希望有一个类似的pep8-changes目标,它只检查pull请求中更改的Python文件:

代码语言:javascript
复制
DIFF_FILES := (git diff --name-only --diff-filter=ACMR ; \  # ACMR: added/copied/modified/renamed
           git diff --staged --name-only --diff-filter=ACMR ; \
           git diff --name-only --diff-filter=ACMR upstream/master...) \
| sort | uniq | grep -e "\.py$$" | grep -v '__init__.py'

## Check all diff python files for compatibility with PEP8
pep8-changes:
    pep8 $(PEP8FLAGS) --filename $(DIFF_FILES)

但我得到以下错误:

代码语言:javascript
复制
pep8 --exclude=sandbox,thirdparty --ignore=E201,E202,E241,E265,E501,E711,E712,E713,E714,E721,W391,W291,W293,W601,W603 --filename (git diff --name-only --diff-filter=ACMR ; \
/bin/sh: -c: line 0: syntax error near unexpected token `('

我在pep8 docs中找不到太多的帮助;我不认为--diff标志是我在这里要找的。如有任何帮助,我们不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-07 04:14:11

好的,明白了。问题似乎是围绕着转义$字符。以下是最终结果:

代码语言:javascript
复制
DIFF_FILES := git diff --name-only --diff-filter=ACMR upstream/master... \
| sort | uniq | grep -e "\.py$$" | grep -v '__init__.py'

pep8-changes:
    pep8 $(PEP8FLAGS) `$(DIFF_FILES)`
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41498213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档