目的是使用svnserve和apache / webdav访问设置subversion.
当用户通过http / apache提交时,文件被写入文件系统并属于apache用户.
当用户通过svn / svnserve提交时,文件将写入文件系统并属于root用户.
我尝试将apache设置为svnserve用户而没有改进:
cat /pathto/repo/conf/passwd [users] apache = XxXxXxX cat /pathto/repo/conf/svnserve.conf [general] anon-access = none auth-access = write password-db = passwd [sasl] use-sasl = false svn: Commit Failed (details follow): svn: Can't move '/pathto/repo/db/txn-protorevs/1091-ux.rev' to '/pathto/repo/db/revs/1/1092': Permission denied
确实,root是目录的所有者,我想要apache.
ls -ld /pathto/repo/db/revs/1/ drwxr-s--- 2 root svn 4096 Jul 17 15:25 /pathto/repo/db/revs/1/
现在我使用以下解决方法:
chown -R apache /pathto/repo/db/
有没有人有一个干净的解决方案来运行svnserve?
更新1:svnserve作为独立服务运行
更新2:这是/ etc / sysconfig / svnserve内容:
OPTIONS="--threads --root /pathto "
更新3:我同意JvO:使用http / apache / webdav作为唯一的访问系统会更简单.不幸的是,第三方软件只有svn://绑定而没有http://绑定.
更新4:修改svnserve init脚本应该有效,但有人有另一个想法吗?