2011-01-17 2 views
4

Seit einer Stunde kann ich nicht zu meinem Svn-Repository zu verpflichten. Alle Repositories auf meinem Svn-Server sind betroffen.SVN kann nicht exklusive Sperre für Datei erhalten <repo>/db/txn-current-lock ': Schlechte Adresse

Aktualisieren und Auschecken funktioniert gut. Begehen Ausbeuten die folgenden Fehler:

 
svn: Commit failed (details follow): 
svn: Can't get exclusive lock on file '/var/svn/repos/<repo name>/db/txn-current-lock': 
    Bad address 

Das Problem begann, als ich ein neues Repository mit dem Namen ‚config‘ erstellt, obwohl ich dies löste die Probleme nicht sicher bin ich zu stoßen.

svnadmin recover <repo name> gibt:

svnadmin: Can't get exclusive lock on file '<repo name>/db/write-lock': Invalid argument

Warum funktioniert das Verriegelungs Problem auf?

[bearbeiten] Der Server wurde schlechter und begann Segfaulting beim Installieren von Updates. Nach dem Neustart scheint das ganze Problem gelöst zu sein ...

+0

Zugriff auf das Repository über eine 'file: ///' URL? –

+0

Ich greife darauf über eine http: // URL zu. – Okke

Antwort

1

Repository beschädigt, siehe Berkeley DB Recovery Teil des SVN Book. Kurz, du musst es tun;

svnadmin recover /path/to/repos 
+0

[Ich habe das schon einmal versucht, siehe die ursprüngliche Frage] Dies führt nun jedoch zu einem Segmentierungsfehler. Oh oh. Neustart [erneut] löste das Problem. – Okke

+0

Schlechter RAM oder Dateisystem dann. – ismail

0

Ich habe gerade dieses Problem nach der Migration von SVN-Servern festgestellt. Ich habe dafür die Befehle native svn export und import benutzt. Auf dem neuen Server habe ich den gleichen Fehler wie das OP erhalten. Mir ist aufgefallen, dass es von der Shell, die ich ausgeführt habe, als sudo ausgeführt wurde, aber es ist unter meinem normalen Benutzerkonto gescheitert.

Es endete eine Datei Berechtigungen. Ich habe gerade schnell eine chmod 777 -R gemacht, die für mich in Ordnung ist, weil es nur meine lokale Dev Box zu Hause ist.

Svn Wiederherstellung löste das Problem nicht. Sie können die Datei nicht sperren, da Sie keine Schreibberechtigung haben.

0

Ich habe dieses Problem erst heute Morgen nach der Migration eines Repositorys auf der ganzen Welt erfahren. Das Problem war, dass root das Verzeichnis auf dem Server besaß, aber der Webserver als anderer Benutzer ausgeführt wurde. Ändern Sie das Verzeichnis Eigentümer auf dem Server

chown -R user:group /path/to/repository 

mit dem Problem zu beheben, ersetzen ‚Benutzer‘ mit dem Benutzer, der den Webserver läuft und die ‚Gruppe‘ im Allgemeinen die gleichen wie der Benutzer sein sollte.

Verwandte Themen