【发布时间】:2021-08-24 07:44:18
【问题描述】:
我是这个话题的新手,我很难进入编程钩子来解决我的问题。 我需要一个可以区分三个不同用户组的钩子:
A组:可以做任何事情(删除标签和主干,不加评论地提交) B组:可以提交标签和删除标签/分支;不能删除中继,也不能在没有评论的情况下提交 C组:可以提交标签;不能更改或删除任何内容
有什么办法吗?
非常感谢您的帮助!
问候 来自德国的菲利普
【问题讨论】:
标签: svn hook tortoisesvn
我是这个话题的新手,我很难进入编程钩子来解决我的问题。 我需要一个可以区分三个不同用户组的钩子:
A组:可以做任何事情(删除标签和主干,不加评论地提交) B组:可以提交标签和删除标签/分支;不能删除中继,也不能在没有评论的情况下提交 C组:可以提交标签;不能更改或删除任何内容
有什么办法吗?
非常感谢您的帮助!
问候 来自德国的菲利普
【问题讨论】:
标签: svn hook tortoisesvn
这是可以做到的。我不能给你写任何代码,但你必须实现一个预提交钩子,并在其中调用 svnlook 以获取有关当前提交的信息。
主要信息是提交的作者,为此您调用svnlook author(请参阅未接受的答案)。
另一个重要的信息是用户正在改变什么。为此,您调用svnlook change,并解析结果。
要查看您使用svnlook log 的评论。
对 svnlook 的所有三个调用都需要 repo 的路径(svn 服务器上的本地路径)和事务 ID。您将这两个都作为预提交挂钩脚本的命令行参数获得
将用户分组在脚本中完成。你可以硬编码那里的所有用户,或者有一个单独的配置文件,作为一个小型数据库,脚本可以读取。每个用户一行,一行中会有数据表明该用户可以做什么和不能做什么。
【讨论】: