web-dev-qa-db-de.com

schildkröte svn gibt mir "Umleitungszyklus für URL 'domain/svn' erkannt"

Ich möchte eine SVN-Wurzel in/var/svn und Repositorys (Projekte) dort erreichen. Ich könnte es im Browser zum Laufen bringen ( http: // domain/url gibt mir "Sammlung von Repositorys"), aber der TortoiseClient gibt mir den im Titel erwähnten Fehler.

Ich richte auf meinem Ubuntu-Server eine Subversion ein, indem ich Folgendes mache (verkürzt):

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

und meine dav_svn.conf sieht so aus:

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

Ich habe etwas über Sym-Links gelesen, die möglicherweise das Problem verursachen. Deshalb werde ich auch meine 000-Standard-Site anhängen (es ist übrigens die Standard-Site):

<VirtualHost *:80>
    ServerAdmin [email protected]

    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>

Ich habe versucht, wie in Wie liste ich alle Repositorys mit der SVNParentPath-Direktive für Apache + SVN auf? aber leider erhalte ich dann einen weiteren Tortoise-Fehler (obwohl ich ihn in meinem Browser noch gut sehen kann). Dann erhalte ich die Meldung "Die OPTIONS-Anforderung hat in der Antwort ungültiges XML zurückgegeben: XML-Analysefehler in Zeile 1: kein Element gefunden" (und HTTP OPTIONEN zu dieser URL geben in der Tat keinen Antworttext)

Weiß jemand, was dieses Problem verursacht?

Prost!

Bearbeiten: Dies ist die access.log-Ausgabe, nachdem versucht wurde, http: // server/svn über tortoise zu erreichen

(mit Location/svn) Beachten Sie die 301 .. TortoiseSVN ändert den Pfad zu ' http: // server/svn ' ohne einen führenden Schrägstrich, den ich angegeben habe, um in ' http: // server/svn zu suchen/'

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

(mit Standort/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"
14
Sebastian Saip

Der TortoiseSVN-Repository-Browser scheint das Durchsuchen der Sammlung von Repositorys nicht zu unterstützen.

Wenn Sie also die Repositories haben:

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

und der dav_svn.conf

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

Sie können sie mit einem Webbrowser durchsuchen, der auf http://server/svn zeigt.

Bei TortoiseSVN müssen Sie auch den Namen des Repositorys angeben, z.

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

Ich weiß, dass dies ein alter Faden ist, jedoch für den Nutzen anderer, die es finden:

Nur eine Vermutung, aber hat die URL Ihres Browsers "viewvc" oder einen anderen Teil, der vom svn-Browser hinzugefügt wird? 

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

Tortoise wird das nicht überprüfen, da es keine echte svn-URL ist. Ihre SVN-URL ist wahrscheinlich so etwas 

http://mysvnsvr/mysvn/trunk.....
11
Jay

Auf CentOS7 habe ich die Alias-Direktive entfernt und sie funktioniert.

9
rdconsolo

Dem @rdconsolo-Vorschlag auf Ubuntu 16.04 folgend, entfernen Sie die Alias-Direktive

#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>
3
PeHen

Ich bin auf das Problem in einer Standardkonfiguration gestoßen und der Grund war, dass ich dasselbe Verzeichnis wie DocumentRoot für den Webserver und als SVNPath in der websvn/davsvn-Konfig verwendet habe.

Für Details siehe auch Was ist die Ursache von "svn: E195019: Umleitungszyklus für URL erkannt"?

3
Christian Fries

Das Problem für mich war, dass ich eine .htaccess-RewriteRule in meiner Dokumentwurzel hatte, in der ich darum gebeten wurde, jeder URL, die keine URL hat, ein nachstehendes/hinzuzufügen.

Aus diesem Grund wurden die SVN-Clients, die versuchen, URLs OHNE ein nachfolgendes/wie " https: // site/repos/project " aufzurufen, von Apache an " https: // site/repos/project" zurückgewiesen/ ", so dass der SVN-Client erneut versucht, zu" https: // site/repos/project "zu gehen, und so weiter.

SOLUTION: Sie haben keine Regel, die ein/hinzufügt, das Ihre SVN-URLs beeinflussen könnte.

1
Benjamin Piette

Hinzufügen der:

SVNListParentPath on

linie alleine löste dieses Problem für mich.