如果您愿意,可以使用C或C++编写钩子.大多数人使用Perl或Python.
主要的是svnlook应该在你的钩子脚本中使用而不是svn.svnlook比它更快更安全svn.事实上,在预提交脚本中,您必须使用,svnlook因为您没有存储库修订.
以下是关于post-commit钩子的一些注意事项:
pre-commit如果开发人员没有正确执行,您需要一个失败的钩子.post-commit钩子时,PATH环境变量已被删除.如果您需要访问其他命令或文件,则必须自己提供完整路径.ARGV.两个参数将传递给您:
svnlook命令).你必须推断的所有其他东西svnlook(你可以通过system命令运行.但是,因为你实际上是用C和C++编写的东西,所以你可以使用内置的Subversion API).
另一种可能性:使用像Jenkins这样的连续构建系统来为您完成肮脏的工作.您可能会发现通过Jenkins更容易,而不必担心提交后挂钩如何完成此任务.Jenkins的一个优点是,当出现问题时,您不会向用户发送失败的提交后消息(可能没有错误).相反,您可以获取所发生事件的完整日志,并提醒实际可以解决问题的人员.
这是我在Perl中编写的一个示例.不知道它对你有什么好处.
| 归档时间: |
|
| 查看次数: |
20614 次 |
| 最近记录: |