有没有办法创建一个无法访问日志的SVN用户?

时间:2012-03-28 16:00:06

标签: svn svnadmin

我正在考虑外包一些开发工作,并希望分发SVN凭据,而不是授予对我使用的服务器的访问权。

但是,我对此感到有点不舒服,并想知道是否可以阻止特定用户运行svn log并能够查看文件历史记录。

他们真正需要的只是cocidiff

2 个答案:

答案 0 :(得分:1)

简短回答

没有

答案很长

所有标准方法在单个SVN命令(共同操作读/写权限)或更低级别(使用单独的DAV命令,集合,转换为单个svn-command)

这里khmarbaise有一个小姐

思考和考虑

如果您可以构建DAV-SVN命令映射(使用Apache日志和指针)并验证,在DAV层启用且禁止的svn命令在DAV端没有交叉点,则只禁用“坏”dav-命令。但我认为,它们都有交集(未经过测试!)。

从另一方面来说,如果您只希望从某个时刻限制访问旧历史记录(不是完全禁用命令,我一味认为这是不可能的),您可以将外包商的工作区拆分为单独的树,使用基于路径的访问控制。

这里khmarbaise有两个小姐

因为他只记得大约1)单独的2)不相关的存储库,而你至少有2个选择:

  • 在HEAD的同一个repo中创建分支,仅授予用户对此分支的访问权
  • 为用户创建(来自导出的HEAD)附加存储库,将其链接到带外部的主存储库。

在这两个解决方案中,用户的日志将在其空间中的第一个修订版上停止(由于缺少较旧的修订版或在复制之前缺少对历史记录的访问权限),对于具有足够访问级别的用户,通过使用合并仍然可以进行双向同步。

答案 1 :(得分:-1)

根据创建path-based-authorization的可能性,您可以限制对存储库特定区域的访问,这意味着并非所有历史记录仅在您授予访问权限的路径中可读。我认为应该没问题。否则你真的需要做副本并且必须复制存储库之间的更改,这在SVN中不是一个简单的工作。