代码提交、测试覆盖与数据库开发全解析
代码提交验证机制
在代码提交过程中,Subversion 提供了钩子(hooks)来验证提交的代码。这些钩子在事务提交且文件复制到服务器之后,但在更改正式提交之前执行。若钩子执行失败,提交操作也会失败,并且会将错误信息(stderr)报告给提交者。这一机制可防止格式严重错误的代码进入代码库,还能对违规代码提供报告。
设置预提交文件
要设置此机制,需在 Subversion 的钩子目录中创建一个名为 pre-commit 的文件。例如,在开发系统中,该目录可能是 /usr/local/svn/respos/hooks 。此文件必须具有可执行权限,否则将无法正常工作。若提交成功,该脚本返回退出码 0;若失败,则返回非零退出码,并将错误信息报告给提交者,而标准输出(stdout)会被忽略。 precommit 脚本充当其他执行实际检查工作脚本的调度器。
预提交钩子的编写
编写预提交钩子是一个公式化的过程,在任何语言中都类似。脚本必须快速完成,以避免阻塞代码库,因此不能通过完整编译来验证代码完整性。预提交钩子总是接收两个相同的参数:代码库路径和事务编号。这些参数可与 svnlook 工具结合使用,以获取有关事务的信息。例如,使用 svnlook changes 可获取文件列表,通过迭代这些文件并使用 svnlook cat 打印每个文件的内容,使用 svnlook log 可访问日志消息。
订阅专栏 解锁全文
69

被折叠的 条评论
为什么被折叠?



