预提交钩子验证c ++代码

Rug*_*rra 2 c++ svn pre-commit-hook

今天我更新了我们的存储库并尝试重新编译它(它是一个c ++应用程序).它不编译.我的第一反应是杀死我的同事,但因为我不能这样做,我需要找到另一个解决方案.

是否可以阻止提交不编译的代码?我们有一个Makefile以及预提交钩子需要做什么,以便检查命令make的输出状态.这样对吗?

如何在实践中实现它(我从未使用过svn hook)?

Mar*_*wis 8

这是正确的.但是,它可能会导致严重的延迟(除非您的应用程序在一秒钟内编译).所以你应该真正寻找一种不同的方法,它允许用户提交,而不是立即启动构建过程,如果构建失败则发送电子邮件.

这样做的一种方法是buidbot.

  • +1我们有一个代码库,需要花费近一个小时来构建.但即使只用了20秒,我也会认为提交的延迟是不可接受的.构建服务器是可行的方式,这就是我们使用的方式.如果您没有权限/影响力来获得官方设置,您可以随时在开发箱上本地运行一个. (2认同)