在我的公司,我设置了持续集成测试,当有人将代码推送到服务器上时我运行测试。
现在我想检查代码是否与我们的基本编码规则匹配,第一条规则是“在代码上运行 mogrify!”
有什么东西可以做这个检查“出架”吗?该分析的输出可以存储在文件或其他内容中。
thanks
在 git 提交期间,您可以要求用户设置pre-commit
可以运行测试并阻止提交的钩子。
但是您无法保证您的用户实际上遵循该策略(或通过git commit --no-verify
).
所以你应该放一个pre-receive
挂钩在您的中央存储库(所有开发人员都在推送的存储库)中,以便在您检测到您的工具尚未正确运行时拒绝推送。
See Git 钩子 http://git-scm.com/book/en/customizing-git-git-hooks.
关于工具,去壳 https://github.com/bengardner/uncrustify可以设置为预提交挂钩,但这可能有点慢 https://stackoverflow.com/a/12286677/6309。但它有以前这样用过 http://www.itk.org/pipermail/insight-developers/2010-September/015333.html.
替代方案是在此线程中列出 http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-May/021378.html但看起来很过时。
您在服务器端应用的想法可以作为预接收挂钩起作用(这意味着如果您检测到推送的代码与接收到的相同代码和“未加密”的代码之间存在差异,您将拒绝推送)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)