0

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

有没有办法实现新的钩子脚本,比如pre-checkoutand post-checkout

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

所以我需要结帐前和结帐后挂钩。

4

2 回答 2

1

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

你没有说你的 Subversion 服务器是如何配置的,但是有 3 种通用方式svnserve over sshsvnserver, 和Apache http(s)。每个都有自己的安全机制,我的偏好是使用 Apache 而不是 LDAP/ActiveDirectory。这允许用户使用他们的 Windows 凭据登录,并且我可以使用 Windows 组来确保结帐安全。我什至有一个处理提交的钩子脚本,它可以使用 Windows 组来查看是否允许用户更改文件。

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


对不起,令人失望的答案。基本上,它是“不,你不能那样做”。

于 2012-08-09T17:32:43.637 回答
0

就“检查权限”而言,您正在寻找的是基于路径的授权。Subversion 手册中对如何实现它有很好的解释。你不需要钩子函数,Subversion 的配置允许直接完成。

就“结帐通知”而言,您能否更具体地说明您要查找的内容?每次有人运行svn checkout命令时,您是否想要电子邮件提醒之类的东西?最终,你想用这个来完成什么?听起来可能有更好的方法来解决这个问题。

于 2012-08-09T16:13:28.633 回答