svn 提交错误

svn 提交错误

当我向 Ubuntu Subversion 提交更改时,总是出现以下错误。

~$ sudo svn commit -m "Initial Commit" test.txt --username akira

svn: Commit failed (details follow):
svn: Can't open file '/home/svn/myrepo/db/txn-current-lock': Permission denied

我应该如何设置 txn-current-lock 的权限?我事先设置了下面的权限。

~$ sudo chown -R taro:subversion myrepo
~$ sudo chmod -R g+rws /home/svn/myrepo

答案1

正如你所说的:

命令是sudo svn co http://192.168.253.130/svn/repository /home/akira/svn/repository --username akira

这意味着您正在通过 HTTP 从服务器检出192.168.253.130到本地目录 /home/akira/svn/repository ,用户为akira。SVN 服务器(集中式存储库)上的读/写权限由通过 HTTP 提供 SVN 服务的程序(可能是 Apache)决定。Apache 以 的身份运行,如果它不属于您,www-data则无法写入。/home/svn/myrepo/db/txn-current-lock

我建议你以svn用户身份启动 svnserve 守护进程,并使用它代替 Apache。然后 URLhttp://192.168.253.130/svn/repository变成类似svn://192.168.253.130/myrepo使用这个启动脚本基本上svnserve --root=/home/svn --threads以用户身份调用svn。如果您正在运行本地 Subversion 服务器,则可以添加--listen-host=localhost选项以增加安全性。

相关内容