14

我想在 /var/svn 和 repositories(projects) 中实现 svn-root。我可以让它在浏览器中工作(http://domain/url给了我“存储库集合”)但是 TortoiseClient 给了我标题中提到的错误。

我通过执行以下操作(缩短)在我的 ubuntu 服务器上设置了一个颠覆:

mkdir /var/svn
svnadmin create /var/svn/test

我的 dav_svn.conf 如下所示:

<Location /svn>
  DAV svn
  SVNParentPath /var/svn
  SVNListParentPath On
</Location>

我阅读了可能导致问题的符号链接,所以我也会附上我的 000-default 站点(这是标准的顺便说一句):

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

我尝试了如何在 Apache+SVN 上使用 SVNParentPath 指令列出所有存储库中的建议? 但不幸的是,我得到了另一个乌龟错误(虽然我仍然可以在浏览器中看到它)然后它给了我“OPTIONS 请求在响应中返回了无效的 XML:第 1 行的 XML 解析错误:未找到元素”(和 HTTP OPTIONS到那个 url 确实没有给出响应体)

有谁知道是什么导致了这个问题?

干杯!

编辑:这是尝试通过 tortoise访问http://server/svn后的 access.log 输出

(带位置 /svn)注意 301 .. TortoiseSVN 将路径更改为 ' http://server/svn ' 没有前导斜杠,但我指定在 ' http://server/svn / '中搜索

[10/May/2012:00:42:29 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:29 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:29 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:29 +0200] "PROPFIND /svn HTTP/1.1" 301 516 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:29 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:29 +0200] "PROPFIND /svn HTTP/1.1" 301 516 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "PROPFIND /svn HTTP/1.1" 301 516 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "OPTIONS /svn HTTP/1.1" 301 573 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:42:30 +0200] "OPTIONS / HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"

(位置/svn/)

[10/May/2012:00:36:57 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:36:57 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:36:57 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:36:57 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:36:58 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4 neon/0.29.6"
[10/May/2012:00:36:58 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:36:58 +0200] "OPTIONS /svn HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
[10/May/2012:00:36:58 +0200] "OPTIONS / HTTP/1.1" 200 236 "-" "SVN/1.7.4/TortoiseSVN-1.7.6.22632 neon/0.29.6"
4

8 回答 8

12

我知道这是一个旧线程,但是为了其他找到它的人的利益:

只是一个猜测,但是您的浏览器给您的 url 是否有“viewvc”或 svn 浏览器添加的其他部分?

i.e. http://mysvn/viewvc/trunk/.....  

Tortoise 不会检查它,因为它不是一个实际的 svn url;您的 svn 网址可能类似于

http://mysvnsvr/mysvn/trunk.....
于 2013-03-26T14:56:47.007 回答
11

在 CentOS7 上,我删除了 Alias 指令并且它可以工作。

于 2015-08-12T16:48:33.880 回答
7

TortoiseSVN 存储库浏览器似乎不支持浏览存储库集合。

因此,如果您有存储库:

/var/svn/repo1
/var/svn/repo2
/var/svn/repo3

dav_svn.conf

<Location /svn>
  DAV svn
  SVNParentPath /var/svn
  SVNListParentPath on
</Location>

您可以使用指向 的 Web 浏览器浏览它们http://server/svn

使用 TortoiseSVN 您还必须指定存储库的名称,例如

http://server/svn/repo1
http://server/svn/repo2
http://server/svn/repo3
于 2012-07-29T18:18:00.487 回答
6

在 Ubuntu 16.04 上遵循 @rdconsolo 建议,删除 Alias 指令,对我有用

#Alias /svn /var/lib/svn
<Location /svn>

DAV svn
SVNParentPath /var/lib/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user

</Location>
于 2018-03-15T22:28:20.173 回答
3

DocumentRoot我在标准配置中遇到了问题,原因是我使用了与web 服务器和SVNPathwebsvn/davsvn 配置相同的目录。

有关详细信息,另请参阅“svn:E195019:检测到 URL 的重定向周期”的原因是什么?

于 2013-08-27T20:32:34.703 回答
1

对我来说,问题是我的文档根目录中有一个 .htaccess RewriteRule,要求在每个没有的 URL 中添加一个尾随 /。

因此,SVN 客户端尝试调用没有尾随 / 的 URL,例如“ https://site/repos/project ”被 apache 重定向到“ https://site/repos/project/ ”,因此 SVN客户端尝试再次访问“ https://site/repos/project ”,依此类推。

解决方案:不要有任何添加尾随 / 可能影响您的 SVN url 的规则。

于 2015-03-05T14:44:14.273 回答
0

添加:

SVNListParentPath on

仅行就为我解决了这个问题。

于 2017-12-07T01:52:13.497 回答
-1

我有同样的问题,但不是针对多个存储库,只是存储库中的标签、分支等。删除 conf 文件中的 Alias 标记修复了此问题。我正在使用 SVN 1.8 和 Tortoise 1.9 运行 Centos 7。

于 2016-11-04T15:15:55.817 回答