togoise svn给我“检测到URL'域/ svn的重定向周期'”

时间:2012-05-09 21:55:38

标签: svn apache2 tortoisesvn mod-dav-svn

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

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

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

我的dav_svn.conf看起来如下:

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

我读到了可能导致问题的sym链接,所以我也会附上我的000-default网站(这是标准的btw):

<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>

我尝试在How do I list all repositories with the SVNParentPath directive on Apache+SVN?中建议 但不幸的是我得到了另一个乌龟错误(虽然我仍然可以在浏览器中看到它) 然后它给我“OPTIONS请求在响应中返回无效的XML:第1行的XML解析错误:找不到元素” (以及该URL的HTTP OPTIONS确实没有给出响应主体)

有谁知道造成这个问题的原因是什么?

干杯!

编辑:这是尝试通过乌龟到达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"

(使用Location / 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"

8 个答案:

答案 0 :(得分:11)

我知道这是一个旧线程,但是对于其他人的好处却找到了它:

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

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

龟不会检查出来,因为它不是真正的svn url;你的svn url可能就像是

http://mysvnsvr/mysvn/trunk.....

答案 1 :(得分:9)

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

答案 2 :(得分:7)

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

所以如果你有存储库:

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

dav_svn.conf

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

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

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

http://server/svn/repo1
http://server/svn/repo2
http://server/svn/repo3

答案 3 :(得分:3)

我在标准配置中遇到了问题,原因是我使用与DocumentRoot相同的目录作为网络服务器,而使用了SVNPath作为websvn / davsvn配置。

有关详细信息,另请参阅What is the cause of "svn: E195019: Redirect cycle detected for URL"?

答案 4 :(得分:3)

关于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>

答案 5 :(得分:1)

我遇到的问题是我的文档根目录中有一个.htaccess RewriteRule,要求在没有一个URL的情况下添加尾随/。

正因为如此,SVN客户端试图调用没有尾随/例如“https://site/repos/project”的URL被apache重新命名为“https://site/repos/project/”,因此SVN客户端尝试转到“ https://site/repos/project“再次,等等。

解决方案:没有任何规则可以添加可能影响您的SVN网址的尾随/。

答案 6 :(得分:0)

添加:

SVNListParentPath on

单独为我解决了这个问题。

答案 7 :(得分:-1)

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