如何添加多个SVN Hook

时间:2010-05-27 10:37:10

标签: svn hook svn-hooks

我有几个(在这种情况下,预提交)钩子,我想在同一个事件中运行。现在,它们都只是shell脚本,所以我知道我可以将它们连接起来以使它们全部运行。但是在将来,其他脚本也可以用Perl,PHP或其他语言编写。

如何作为单个挂钩的一部分运行多个不同的脚本,并且子挂钩有任何一个失败,会失败?

3 个答案:

答案 0 :(得分:1)

您可以从SVN中的单个预提交脚本调用每个脚本:

#!/bin/sh

sh do_this.sh
php do_that.php
...

如果您在脚本中使用了正确的shebang,则甚至不需要提及可执行文件名(shphp)。

答案 1 :(得分:1)

您可以尝试使用SVN::Hooks Perl模块,该模块允许您在单个配置文件中实现和集成许多挂钩,甚至可以在同一个存储库中保存版本。

(披露:我是该模块的作者。)

答案 2 :(得分:0)

与@ Gnustavo的基于Perl的解决方案非常相似,我还发现了一些其他(基于PHP)的系统,例如

如果测试失败,两个项目(和其他'SVN Hooks')都将失败。