当我们尝试将一些文件提交到 SVN 时,我们突然收到此错误
Can't move '/usr/local/svn/articles/db/txn-protorevs/2002-8.rev'
to '/usr/local/svn/articles/db/revs/2/2003': Permission denied
我检查了存储库中的权限,它们看起来与我们所有其他存储库相同,但这是唯一导致错误的存储库。
有什么想法可以修复此问题吗?
SVN 通过 svnserve 在 Linux 上以 root 身份运行,仅供参考。
答案1
对于我管理的存储库,存储库内容本身归 apache:apache 所有。尝试在root
不使用的情况下执行某些操作sudo -u apache
通常会给我带来这种情况。正如您所指出的,好的chown -R apache.apache {repo root}
通常会修复它。
我猜测你是以非 root 用户的身份通过文件系统执行了某些功能。
答案2
事实证明,我们只是缺少远程存储库中某些子目录(revs、transactions 等)的组写权限。但仍然不确定它们一开始是如何被搞乱的。
答案3
确保 SVN 使用与创建存储库相同的用户启动。