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"
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
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.....
Auf CentOS7 habe ich die Alias-Direktive entfernt und sie funktioniert.
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>
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"?
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.
Hinzufügen der:
SVNListParentPath on
linie alleine löste dieses Problem für mich.