我刚刚使用 apache mod_dav_svn 插件构建了 subversion 存储库,因此开发团队可以使用通常的 httpd 端口进行任何版本控制过程。它工作得非常顺利,他们从其他网络进行了结帐/更新/提交过程,直到他们在访问服务器 ssh-ly 以执行某些结帐过程时发现问题,他们需要更新服务器上的一些工作副本以获取 httpd 中的示例开发标签doc root,只有 root 可以签出/更新服务器上的某些工作副本,“AuthUserFile”配置已经允许的每个用户总是收到拒绝消息来执行此操作。
我认为与此相关的唯一可能配置是
AuthUserFile /etc/svn-auth-conf
AuthzSVNAccessFile /etc/svn-acl-conf
我尝试了几次更改与该内容相关的配置文件,但没有结果..
您是否检查过 subversion 存储上的文件系统权限?
如果我正确理解了这个问题,您在通过http://somehost/svn/repo/proj执行 svn 时没有任何问题,但是当您尝试从系统中使用本地安装的 svn 客户端时,您将获得拒绝的权限root 以外的任何用户。
您尝试提交/更新/签出的文件的权限是什么?它们是否由用户无权访问的功能用户帐户拥有?
尝试从 /tmp 执行 checkout/update/commits 以查看是否是文件权限问题。
似乎您有一些用户通过 http 访问存储库,而一个用户/工作副本在本地访问存储库。您可能想要做的是将服务器上的工作副本切换为使用 http 方法而不是本地方法。您可能会花一些时间来修复权限,但如果每个人都以相同的方式访问存储库,那么您的烦恼就会少很多。
就像是:
应该做的伎俩,然后是一个 svn update 以确保一切正常。
您不应同时允许通过“ssh”和 http 访问。您的用户使用服务器上的用户访问存储库一次,使用 httpd 的权限访问一次。
设置 https-support 以启用加密访问并拒绝 ssh 访问。