2009-05-26 22 views
21

Ich habe ein Repository (sagen foo) aus SVN ausgecheckt, während einige andere Commits/Updates. Mein Server starb und ich wurde mit einem unvollständigen Checkout verlassen. Fein. Das Problem ist, wenn ich zurück gehe, um auf das Foo-Repository zuzugreifen, aber das kann ich nicht. Es hängt einfach für immer.SVN "PROPFIND Anfrage fehlgeschlagen am ..."

So ging ich zu http://subversion.apache.org/faq.html#bdb-recovery und lief svnadmin recover. Ich habe einen Fehler erhalten, daher musste ich db_recover verwenden und der Befehl sagte, dass er erfolgreich abgeschlossen wurde.

Jetzt, wenn ich versuche, das Repository zuzugreifen, erhalte ich:

svn: PROPFIND request failed on '/foo' 
svn: PROPFIND of '/foo': 500 Internal Server Error (https://svn.foobar.com) 

Auch, wenn ich zu https://svn.foobar.com/foo navigieren ich sehe:

<D:error> 
<C:error/> 
<m:human-readable errcode="160029"> 
Could not open the requested SVN filesystem 
</m:human-readable> 
</D:error> 

Wer irgendwelche Gedanken?

Hinweis: Alle anderen Repositorys funktionieren. Es ist nur dieser eine.

+0

Was war der Fehler von svnadmin wiederherstellen? – thekbb

Antwort

3

Haben Sie 'svnadmin recover' als Benutzer ausgeführt, der normalerweise das Repository verwendet (z. B. Apache-Konto)?

Wenn nicht der Grund dafür sein könnte, dass einige Dateien jetzt dem Benutzer gehören, der 'svnadmin recover' ausführt und das Apache-Konto ohne Rechte zum Ändern der Repository-Dateien belässt.

+1

In diesem Fall sollte eine einfache chown apache.apache -R/Pfad/zu/Repos sollte das Problem beheben ... – stephendl

1

ich diesen propfind Fehler bekam, weil der Strom ausfiel und ich hatte vergessen, die svnserve und Apache-Instanzen neu starten =)

0

In meinem Fall musste ich ein anderes Protokoll:

svn co svn+ssh://svn.xyz.com/directory 
0

Wenn die konkrete Fehlermeldung „permature Ende der Datei“ ist ... httpd des error_log zeigte, dass:

[error] PHP Parse error: syntax error, unexpected T_STRING in /var/www/repos/... 

aber es gibt keine Syntaxfehler.

Es scheint wie .php Dateien statt als Text behandelt interpretiert werden - offensichtlich im Zusammenhang mit MIME-Typ Konfiguration ...

Nun, die Antwort ist einfach:

AddType text/plain .php 

Nur, dass in der Ihre Virtual-Host-Konfigurationsdatei und apache2 hören auf, PHP in diesem Repository zu interpretieren. Source

1

Wenn Sie den SVN-Server über HTTP (S) einrichten, könnte dies der Apache-Server sein, der sagt, dass er PROPFIND nicht versteht.

In meinem Fall passiert, wenn ich ein Setup 'Location' in der Apache-Konfigurations w/o es Angabe der SVN WebDAV-Implementierung (die SVN mod ist eine Erweiterung auf WebDAV) zu sein:

<Location /svn> 
     SVNParentPath /data/scm/repositories/ 
     SVNPathAuthz off 
     AuthType Basic 
     AuthName "xxxxx" 
     AuthBasicProvider ldap 
     AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub 
     Require valid-user 
    </Location> 

statt dessen:

<Location /svn> 
    DAV svn 
    SVNParentPath /data/scm/repositories/ 
    SVNPathAuthz off 
    AuthType Basic 
    AuthName "xxxxx" 
    AuthBasicProvider ldap 
    AuthLDAPURL ldap://xxx.yy:389/DC=aaaa,DC=bbbb?sAMAccountName?sub 
    Require valid-user 
</Location> 

scheint ein logischer Fehler, nachdem ich es gefunden, aber hat mich einige Zeit, um den Fehler zu finden ...

1

Manchmal können verschiedene installierte Java Versionen dazu führen, dass das Eclipse SVN Plugin (mein Fall Subversive 1.7) nicht funktioniert.

Ich habe JVM 1.6 verwendet, aber mein Umgebungspfad zeigte auf eine neuere Version (aufgrund der Installation von Oracle Java Web Start oder etwas).

Also habe ich die alte Java 1.6-Version, und es funktionierte.

0

In meinem Fall konnte ich es lösen, ändern Sie den "commit to" -Wert von einem "https://localserver/svn/project" in eine "file: /// F:/Repositories/Projekt".

Es begann nach dem Ändern des HTTPS-Ports fehlschlagen, weil ich ein Zertifikat in meinem IIS localhost installiert, und es mit dem SVN Apache-Server in Konflikt stand.

Verwandte Themen