在Github提交中执行PEP-8'格式化

时间:2012-03-21 05:45:37

标签: python git github

是否有任何预制解决方案可以在Git提交钩子中强制执行优秀的Python标准?

有没有办法在本地结账中自动化这个过程(类似于Bazaar,哪里可以将提交钩子推送到客户端)?它应该足够了,当你签出一个repo时,它会安装commit hooks,没有更多的工作/命令可以运行。

E.g。如果您的.py文件有一个标签,则提交将中止,并且发送一个机器人来打开开发人员。

1 个答案:

答案 0 :(得分:9)

您可以在GitHub端添加服务(请参阅“GitHub - All the Hooks”和existing third-party services)。

但是你不能“勾手”(见“why it is not possible to git add .git/hooks/my-hook”或“Git remote/shared pre-commit hook”。

您可以对可用作钩子的脚本进行版本控制,但每个客户端仍然需要激活其预提交钩子(带有指向该版本化脚本的符号链接)。

这个版本化脚本(适用于Python标准)的示例将在此blog post中显示,Lorenzo Bolla,并在此GitHub repo中更新。
它基于PyLintPyFlake(另请参阅“PyLint, PyChecker or PyFlakes?”)。


OP在评论中提及package vvv 0.1

  

用于软件源代码验证和linting的便利实用程序

     

VVV是一个简化软件项目验证和linting集成的工具   使用单个命令验证所有文件,无论使用哪种编程语言,都可以在源树中针对您在简单配置文件中指定的策略进行验证。
  VVV可以防止在您的软件源代码控制中提交不良内容或使其更容易清理。