2009-01-09 2 views
12

Ich habe ein lokales Subversion-Verzeichnis erstellt und ich habe Probleme. Ich habe versucht, in meiner ersten Datei mit folgendem Befehl überprüft:svn: Kann Verzeichnis nicht erstellen '/subversion/main/db/transactions/0-1.txn': Berechtigung verweigert

svn ci TestCommenterParseFilter.java 

und ich bekam die folgende Fehlermeldung

svn: Commit failed (details follow): 
svn: Can't create directory '/export/svn/db/transactions/1-1.txn': Permission denied 
svn: Your commit message was left in a temporary file: 
svn: '/export/speedplane/nutch-0.9/src/plugin/commenter/src/test/org/commenter/nutch/svn-commit.tmp' 

Irgendwelche Vorschläge?

Antwort

0

Ich glaube nicht, dass es das Problem beheben wird (in der Regel gibt eine andere Fehlermeldung) - aber immer noch etwas zu versuchen ...

Händigen Sie eine Nachricht commit (-m oder -F Optionen) :

$ svn ci TestCommenterParseFilter.java -m "Commit message." 

$ svn ci TestCommenterParseFilter.java -F commit_message.txt 
5

die „Zugriff verweigert“ Fehler und die Pfadnamen Sie verwendet haben, zeigen, dass Ihr Benutzerkonto nicht Dateiberechtigung zum /export/svn Verzeichnisbaum zu schreiben hat. Es gibt mindestens zwei Ansätze zur Lösung dieses:

  1. Ändern Sie die Dateiberechtigungen (vielleicht mit einer Gruppe + w Bit) auf /export/svn, so dass Sie auf die Dateien schreiben kann. Das ist knifflig und nicht immer kleben.

  2. Richten Sie svnserve als Serverprozess ein, mit dem Sie über das Protokoll svn:// kommunizieren. In diesem Fall ist der Serverprozess der einzige, der Schreib- (oder Lese-) Zugriff auf das Repository-Verzeichnis benötigt.

+0

Wenn der Svn-Server für die Verwendung über ssh eingerichtet ist, wird auf das Repository normalerweise als der angemeldete ssh-Benutzer zugegriffen. Daher sollten alle Benutzer von svn in derselben Benutzergruppe sein, und diese Benutzergruppe sollte über Gruppenschreibzugriff auf das Repository verfügen. Fügen Sie Schreibzugriff für die Gruppe hinzu, indem Sie 'chmod -R g + w ' verwenden. – not2savvy

2

So stellen Sie sicher, dass Sie den svnserve -d starten und es als root starten

+1

Nicht. Erstens ist die Option -d nicht möglich, wenn svn über shh verwendet wird. Zweitens, führen Sie svn nicht als root aus, sondern verwenden Sie einen svn-Benutzer (normalerweise _svn). – not2savvy

6

Ich hatte das gleiche Problem, aber wenn ich die Verzeichnisse "Transaktionen" und "txn-protorevs" erstellt hatte, funktionierte es danach ohne zu beschweren.

+0

Das hat bei mir funktioniert. Ich habe von einem Backup wiederhergestellt, das aus dem Python-Backup-Skript (hot-backup.py) erstellt wurde, und diese beiden Ordner waren nicht im Ordner db der Sicherung enthalten. Sobald ich sie auf dem SVN-Server im Wiederherstellungsrepository erstellt habe, wurde alles korrekt von meinem entfernten Entwicklungscomputer übertragen. Vielen Dank! (Hinweis: In meinem Fall ist das alles Windows - 2008 RC2 mit SVN und XP auf meinem Entwickler-PC). –

+0

direkt an! manuell erstellen .../db/transactions und .../db/txn-protorevs nach dem Wiederherstellen von einer hotbackup.py hat den Trick! –

Verwandte Themen