我遵循了https://help.ubuntu.com/8.04/serverguide/C/subversion.html 但当我尝试这样做时:
svn co https://localhost/svn
我得到:
svn: Repository moved permanently to 'https://localhost/svn/'
...当我这样做时:
svn co https://localhost/svn/
我再次遇到同样的错误。当我尝试:
svn co https://localhost/svn/testrepo
我得到:
svn: Could not open the requested SVN filesystem
在 Apache 日志中我看到:
can't open file /home/myname/testrepo/testrepo/format
在我的 apache2.conf 中我有:
<Location /svn>
DAV svn
SVNParentPath /home/myname/testrepo
SVNListParentPath On
AuthType Basic
AuthName "myrepo"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
<LimitExcept>
</Location>
我之前也尝试过用“SVNPath”代替“parentpath”,但没有成功。
请帮帮我,我很绝望!!我尝试了所有我能想到的路径组合……
答案1
看起来 SVNParentPath 直接指向您的存储库,而不是指向包含您的存储库的目录。
创建一个名为的文件夹项目在你的主文件夹中
mkdir /home/myname/projects
将您的存储库移至项目。
mv /home/myname/testrepo /home/myname/projects
更改所有权项目到 www-data。
sudo chown -R www-data:www-data /home/myname/projects
在 apache2.conf 中,将 SVNParentPath 的声明更改为
SVNParentPath /home/myname/projects
重新启动 Apache 服务器。
现在尝试检查您的存储库。
svn co https://localhost/svn/testrepo
答案2
对于 Windows 用户(如果有人在 Windows 下遇到类似问题):
问题可能是文件访问权限。
我通过将存储库移动到 Apache 可以读取和写入文件的位置解决了我的问题。 在我的例子中 (CollabNet Subversion Edge),路径是C:\csvn\data\repositories
。
答案3
转到 SVNParentPath 目录这里我的目录路径是 /var/www/svn
cd /var/www/svn/
在 SVNParentPath 下创建存储库
svnadmin 创建 repo_name
授予 Apache 权限
chown -R apache:apache repo_name/
创建 SVN 用户
htpasswd -m /etc/httpd/conf/.htpasswd 用户名
分配权限
vi /etc/svnusers [仓库名称:/]
用户名=rw
重启 Apache 服务
服务 httpd 重启