如何限制SVN中的用户仅访问提交的日志历史记录(无RO访问)

如何限制SVN中的用户仅访问提交的日志历史记录(无RO访问),svn,redmine,visualsvn-server,Svn,Redmine,Visualsvn Server,我需要限制SVN用户只能获取带有修订号和消息的修订日志,以及更改文件的列表 用户不能访问源文件内容 我们需要它来将项目管理系统与Redmine集成,这样它将自动更新问题状态,并能够通过获取SVN修订日志消息来列出变更日志。出于安全原因,我们不希望此用户能够访问源 你有什么想法吗?提前谢谢。哇:这是一个非常不寻常的请求,我不确定是否可能 我只能想到一个非常遥远的可能性:允许这组人访问存储库的根目录,但拒绝他们访问分支、标记和主干子目录本身。用户可能能够在存储库的根目录上执行svn日志,但不能自己签

我需要限制SVN用户只能获取带有修订号和消息的修订日志,以及更改文件的列表

用户不能访问源文件内容

我们需要它来将项目管理系统与Redmine集成,这样它将自动更新问题状态,并能够通过获取SVN修订日志消息来列出变更日志。出于安全原因,我们不希望此用户能够访问源


你有什么想法吗?提前谢谢。

哇:这是一个非常不寻常的请求,我不确定是否可能

我只能想到一个非常遥远的可能性:允许这组人访问存储库的根目录,但拒绝他们访问分支、标记和主干子目录本身。用户可能能够在存储库的根目录上执行svn日志,但不能自己签出文件

我真的没有时间设置一个完整的测试,但这是我能想到的唯一可能性。在授权中是这样的。我甚至不确定这种语法是否100%正确:

[groups]
dev = tom, dick, harry
other = bob, carol, ted, alice

[myrepos: /]
@dev = rw
@other = rw

[myrepos: /trunk]
@dev = rw
@other =
另一种可能性是:使用基于web的程序或客户端-服务器类型的程序来查看日志信息。例如,假设一个有限的程序可以执行svnls或svnlog,但仅此而已。服务器可以完全访问Subversion存储库,但只允许有限的查询

最后一种可能性和我的偏好是使用连续构建系统,就像在每次签入时都进行构建一样。Jenkins将使查看每个构建中更改的内容变得容易,甚至会列出更改的文件,但拒绝访问源代码。对于这一特定的用户群体来说,这很可能已经足够好了

更妙的是,Jenkins可以与Redmine集成,因此Redmine可以引入这些更改。

此解决方案来自。将以下行添加到svnserve.conf文件:

anon-access = none
auth-access = write
这在未经授权的情况下从命令行工作:


这和?这对我不起作用,因为乌龟缓存日志,它对他们起作用,因为它读取缓存,所以如果你删除缓存或使用命令行,你又会出错。这不起作用。仅访问根文件夹的用户可以查看修订日志,但注释和更改的文件列表仅适用于根文件夹。主干、分支和标记文件夹中的更改信息为空,因此只有修订日志列表中的修订号为空行。是的,这很难奏效。您现在有两个选择:选择1是编写一个只列出svn日志的webapp。用PHP编写一个简单的Web应用程序可能只需要几天时间,实际上只有一个功能点。另一个选择是使用类似Jenkins的东西。Jenkins将在每个构建中显示提交注释,其中包括文件名。默认情况下,Jenkins不会向您显示您应该使用的代码,比如Sventon,它集成了w/Jenkins。Jenkins与Redmine集成,这可能正是您所需要的。