是否有任何预制解决方案可以在Git提交钩子中强制执行优秀的Python标准?
有没有办法在本地结账中自动化这个过程(类似于Bazaar,哪里可以将提交钩子推送到客户端)?它应该足够了,当你签出一个repo时,它会安装commit hooks,没有更多的工作/命令可以运行。
E.g。如果您的.py文件有一个标签,则提交将中止,并且发送一个机器人来打开开发人员。
答案 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中更新。
它基于PyLint和PyFlake(另请参阅“PyLint, PyChecker or PyFlakes?”)。
OP在评论中提及package vvv 0.1
用于软件源代码验证和linting的便利实用程序
VVV
是一个简化软件项目验证和linting集成的工具 使用单个命令验证所有文件,无论使用哪种编程语言,都可以在源树中针对您在简单配置文件中指定的策略进行验证。
VVV
可以防止在您的软件源代码控制中提交不良内容或使其更容易清理。