Ich habe Subversion und Apache auf meinem Server eingerichtet.
Wenn ich über meinen Webbrowser darauf zugreife, funktioniert es einwandfrei ( http://svn.host.com/reposname ). Wenn ich jedoch auf meinem Computer eine Prüfung durchführe, wird die folgende Fehlermeldung angezeigt:
Command: Checkout from http://svn.host.com/reposname, revision HEAD, Fully recursive, Externals included
Error: Repository moved permanently to 'http://svn.host.com/reposname/'; please relocate
Ich habe das Fehlerprotokoll von Apache überprüft, aber es sagt nichts aus. (tut es jetzt - siehe bearbeiten)
Meine Repositories befinden sich unter: / var / www / svn / repos /
Meine Website ist gespeichert unter: / var / www / vhosts / x / ...
Hier ist die conf-Datei für die Subdomain:
<Location />
DAV svn
SVNParentPath /var/www/svn/repos/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/auth/svn.htpasswd
Require valid-user
</Location>
Die Authentifizierung funktioniert einwandfrei.
Weiß jemand, was dies verursachen könnte?
- Bearbeiten
Also habe ich Apache (erneut) neu gestartet und es erneut versucht und jetzt bekomme ich eine Fehlermeldung, aber es hilft nicht wirklich. Hat jemand eine Idee was das bedeutet?
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] Could not fetch resource information. [403, #0]
[Wed Mar 31 23:41:55 2010] [error] [client my.ip.he.re] (2)No such file or directory: The URI does not contain the name of a repository. [403, #190001]
- Bearbeiten 2
Wenn ich svn info
es tue, gibt es nichts Nützliches:
[root@server domain.com]# svn info http://svn.domain.com/repos/
Username: username
Password for 'username':
svn: Repository moved permanently to 'http://svn.domain.com/repos/'; please relocate
Ich habe auch versucht, ein lokales Checkout svn checkout file:///var/www/svn/repos/reposname
durchzuführen ( ), und das funktioniert einwandfrei (auch das Hinzufügen / Festschreiben funktioniert einwandfrei). Es scheint also etwas mit Apache zu tun zu haben.
Einige andere Informationen:
- Ich verwende CentOs 5.3
- Plesk 9.3
- Subversion, Version 1.6.9 (r901367)
- Bearbeiten Sie 3
Ich habe versucht, die Repositorys zu verschieben, aber es machte keinen Unterschied.
Selinux ist deaktiviert, das ist es auch nicht.
quelle
Options +indexes
das sollte nicht wirklich etwas Sinnvolles in einem SVN-Speicherort.Antworten:
Ich hatte das vor kurzem ... aber es stellte sich heraus, dass ich die URL vergessen hatte :)
Eine Sache, die Sie tun müssen, ist sicherzustellen, dass Ihr SVN-Standort keine von Apache bedienbaren Websites überlappt. dh, wenn Sie Ihren DocumentRoot auf / www und Ihren svn-Speicherort auf / www / svn setzen, dann sind Sie in Schwierigkeiten - Apache weiß nicht, womit er bedient werden soll (dh mit den svn-Spezialhandlern) oder ein direkter http-Handler).
Siehe hierzu den FAQ-Eintrag .
quelle
Alias svn /repositories
und dann alles in eingerichtet<Location /svn/ >
. Das Problem war genau wie im FAQ-Link, obwohl es auf mysteriöse Weise einen Monat lang perfekt funktionierte und dann an einem Mittwochnachmittag zur Teezeit aufhörte. Wenn sich Ihr Repository unter "/" befindet, haben Sie eine Überschneidung mit Ihrer DocumentRoot-Direktive.Probieren Sie es aus
http://svn.host.com/reposname/
(beachten Sie den abschließenden Schrägstrich).quelle
Überprüfen Sie diese Website: http://www.rkrishardy.com/2009/12/subversion-fix-svn-copy-causes-repository-moved-permanentl/
Wahrscheinlich verweist der Alias auf die gleiche Stelle wie die konfigurierte dav_svn.mod, und es besteht eine Racebedingung zwischen apache und dav_svn, während auf repo zugegriffen wird.
Es ist besser in bereitgestellten Artikel erklärt
In dav_svn.conf:
In der apache_site.conf
quelle
Ich habe ein vhost-Setup mit meinem Repo, bei dem
svn.mydomain.com/sites/
mein vhost einen DocumentRoot- und Location-Block hatte. Das Entfernen der Dokumentenwurzel löste dieses Problem.quelle
Ich habe diese Fehlermeldung erhalten, als ich mein Repo auf meinem FC14-Computer mit RPM-basierter Subversion und Apache-Installation versehentlich unter den von Apache bereitgestellten HTML-Baum gestellt habe.
SVNParentPath (in /etc/httpd/conf.d/subversion.conf) sollte auf ein Verzeichnis außerhalb von DocumentRoot verweisen.
Ich zog mein Repo aus und das Problem ging weg.
Hoffe das hilft.
quelle
Ich weiß, dass dies alt ist, aber ich habe es bei Google gefunden, weil ich das gleiche Problem hatte. Stellen Sie sicher, dass Port 7080 weder von einem Computer noch von einer Server-Firewall blockiert wird
quelle
Es scheint, als ob Sie dies nicht tun
svn checkout
, sondernsvn update
in einem vorhandenen Repository (?).Wenn ja, mach das:
svn switch --relocate http://svn.host.com/reponame
quelle
Dauerhaft umgezogen? Können Sie so etwas wie HTTPFox oder so und überprüfen Sie, ob Apache den richtigen Statuscode für Ihr Repository ausgibt (sollte sein
200/OK
). Ich glaube, dass der Statuscode301
einer URL entspricht, die "permanent verschoben" wurde und sich so anhört, als würde der SVN-Client darauf verweisen.quelle
http://svn.server.com/repos
) danach suche, funktioniert es hervorragend, ich bekomme "repos - Revision 0: /" und alles. Das Problem tritt nur beim Auschecken auf.Vielleicht etwas zu spät im Gespräch, aber ich sehe dies, wenn ich in der Apache-Konfiguration einen Alias verwende, um mit dem nachfolgenden '/' fertig zu werden: Alias / svn / path / to / svn /
quelle
Sie müssen auch sicherstellen, dass keine Alias-Direktive dem Speicherort der SVN-Repos zugeordnet ist. Ich hatte das vor kurzem, als ich hatte
Dabei gelten der Alias und die Standortanweisung für denselben Pfad.
quelle
Ich hatte gerade ein ähnliches Problem, nicht als ich ausgecheckt habe, sondern als ein COMMIT gemacht wurde.
Der Grund? Dieser Ordner "obj \ Debug \ TempPE" kann aus irgendeinem seltsamen Grund nicht in das Repository übernommen werden
Lösung? ... Alle anderen Ordner des Projekts nacheinander COMMITEN und diesen Speicherort vom SVN-Server entfernen
quelle