我正在考虑外包一些开发工作,并希望分发SVN凭据,而不是授予对我使用的服务器的访问权。
但是,我对此感到有点不舒服,并想知道是否可以阻止特定用户运行svn log
并能够查看文件历史记录。
他们真正需要的只是co
,ci
和diff
答案 0 :(得分:1)
简短回答
没有
答案很长
所有标准方法在单个SVN命令(共同操作读/写权限)或更低级别(使用单独的DAV命令,集合,转换为单个svn-command)
这里khmarbaise有一个小姐
思考和考虑
如果您可以构建DAV-SVN命令映射(使用Apache日志和指针)并验证,在DAV层启用且禁止的svn命令在DAV端没有交叉点,则只禁用“坏”dav-命令。但我认为,它们都有交集(未经过测试!)。
从另一方面来说,如果您只希望从某个时刻限制访问旧历史记录(不是完全禁用命令,我一味认为这是不可能的),您可以将外包商的工作区拆分为单独的树,使用基于路径的访问控制。
这里khmarbaise有两个小姐
因为他只记得大约1)单独的2)不相关的存储库,而你至少有2个选择:
在这两个解决方案中,用户的日志将在其空间中的第一个修订版上停止(由于缺少较旧的修订版或在复制之前缺少对历史记录的访问权限),对于具有足够访问级别的用户,通过使用合并仍然可以进行双向同步。
答案 1 :(得分:-1)
根据创建path-based-authorization的可能性,您可以限制对存储库特定区域的访问,这意味着并非所有历史记录仅在您授予访问权限的路径中可读。我认为应该没问题。否则你真的需要做副本并且必须复制存储库之间的更改,这在SVN中不是一个简单的工作。