如何为结帐实现新的钩子脚本

时间:2012-08-09 11:39:38

标签: svn

我在Windows上使用SVN。默认情况下,存储库路径中的hooks文件夹中有9个挂钩,如pre-commitpost-commitpre-lock ...

是否有办法实现pre-checkoutpost-checkout等新的钩子脚本?

我想检查用户是否有权签出相应的文件,如果有任何用户签出存储库中的任何文件或文件夹,我需要发送通知。

所以我需要预先结帐&结账后挂钩。

2 个答案:

答案 0 :(得分:1)

您看到的钩子只是被识别的钩子的占位符。是否有人可以签出代码是服务器配置的一部分。

您没有说明Subversion服务器的配置方式,但有三种常规方法svnserve over sshsvnserverApache http(s)。每个都有自己的安全机制,我的偏好是使用Apache over LDAP / ActiveDirectory。这允许用户使用他们的Windows凭据登录,并且我可以使用Windows组来检查安全性。我甚至有一个钩子脚本来处理可以使用Windows组的提交,以查看是否允许用户更改文件。

我从来没有听说过要求在结账时发送电子邮件的要求。 (我有一个可以在提交时发送电子邮件的提交后脚本)。但是,我想可以观察Apache日志文件并根据它发送电子邮件。通常,您不关心结帐。您关心提交,这就是为什么大多数软件会在提交时允许观察者,而不是在结帐时。


对于令人失望的回答感到抱歉。基本上,它是“不,你不能这样做。”

答案 1 :(得分:0)

就“检查权限”而言,您正在寻找的是基于路径的授权。有a good explanation of how to implement it in the Subversion manual。你不需要钩子函数,Subversion的配置允许直接完成。

就“结帐通知”而言,您能更具体地了解您的需求吗?每次有人运行svn checkout命令时,您是否想要类似电子邮件警报的内容?你最终想要用这个完成什么?听起来可能有更好的方法来解决这个问题。