如何克服 SVN -- 无法打开请求的 SVN 文件系统

Jas*_*son 3 apache-http-server svn

我遵循了https://help.ubuntu.com/8.04/serverguide/C/subversion.html 中的所有步骤, 但是当我尝试这样做时:

svn co https://localhost/svn
Run Code Online (Sandbox Code Playgroud)

我得到:

 svn: Repository moved permanently to 'https://localhost/svn/'
Run Code Online (Sandbox Code Playgroud)

...当我这样做时:

 svn co https://localhost/svn/
Run Code Online (Sandbox Code Playgroud)

我再次收到同样的错误。当我尝试:

 svn co https://localhost/svn/testrepo
Run Code Online (Sandbox Code Playgroud)

我得到:

 svn: Could not open the requested SVN filesystem
Run Code Online (Sandbox Code Playgroud)

在 apache 日志中,我看到:

 can't open file /home/myname/testrepo/testrepo/format
Run Code Online (Sandbox Code Playgroud)

在我的 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>
Run Code Online (Sandbox Code Playgroud)

我之前也尝试过使用“SVNPath”而不是“parentpath”,但没有成功。

请帮忙,我很绝望!!我尝试了所有我能想到的路径组合......

Ada*_*rax 7

似乎 SVNParentPath 直接指向您的存储库,而不是包含您的存储库的目录。

在您的主文件夹中创建一个名为projects的文件夹

mkdir /home/myname/projects
Run Code Online (Sandbox Code Playgroud)

将您的存储库移动到项目中

mv /home/myname/testrepo /home/myname/projects
Run Code Online (Sandbox Code Playgroud)

项目的所有权更改为 www-data。

sudo chown -R www-data:www-data /home/myname/projects
Run Code Online (Sandbox Code Playgroud)

在 apache2.conf 中,将 SVNParentPath 的声明更改为

SVNParentPath /home/myname/projects
Run Code Online (Sandbox Code Playgroud)

重新启动您的 Apache 服务器。

现在尝试检查您的存储库。

svn co https://localhost/svn/testrepo
Run Code Online (Sandbox Code Playgroud)