如何在Visual SVN上创建多个提交后挂钩

时间:2014-02-27 10:16:44

标签: svn visualsvn-server post-commit svn-hooks

我在我的服务器上运行VisualSVN Server,并且我创建了一个post-commit钩子,当有人提交代码时,使用此处列出的步骤向我发送电子邮件:http://www.visualsvn.com/support/topic/00018/

但是,如果SVN中的某个项目已经提交,我希望能够向一个人发送电子邮件,但是如果有其他项目提交,则其他人应该收到电子邮件。

我如何创建多个提交后挂钩以根据提交的项目向不同的人发送电子邮件?

2 个答案:

答案 0 :(得分:1)

您可能想查看我的提交后Watch script。在这种情况下,这将消除您对多个提交后挂钩的需求。

此脚本将根据更改内容向多个用户发送电子邮件。此脚本的主要目的是允许用户设置自己的监视。用户可以使用globregex模式指定文件或目录。您可以使用我的pre-commit脚本来阻止用户更改其他用户的监视文件。这样,当他们需要这些类型的通知时,没有人会打扰你,这可能会影响你的Candy Crush时间。

用户还可以设置他们希望手表使用的电子邮件帐户。用户可以将这些通知设置为多个电子邮件帐户,甚至是与SMS,IM,Twitter或Facebook帐户相关联的电子邮件帐户,如果他们更喜欢通知那样的话。

钩子使用Perl,但标准的Perl安装将无需添加任何其他模块即可运行。它应该适用于5.8.8以后的所有Perl。 Windows用户可以免费下载安装最新版本的Perl,因为它是开源的。

答案 1 :(得分:0)

我明白了。我只是进入了我最初的下一个钩子,用线将它们分开。例如:

    "%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" ^
    commit-notification "%1" -r %2 ^
    --from svn@mycompany.co.za --to me@mycompany.co.za ^
    --smtp-server mail.mycompany.co.za ^
    --detailed-subject

   "%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" ^
    commit-notification "%1" -r %2 ^
    --from svn@mycompany.co.za --to someone_else@mycompany.co.za ^
    --smtp-server mail.mycompany.co.za ^
    --detailed-subject