Heute hatte ich wiedermal ein altbekanntes Problem mit SVN. Ich wollte in einem IntelliJ-Projekt einen Ordner umbenennen und wieder einchecken. Hier zur Veranschaulichung:
Der Ordner devisenundzinsen sollte in devisen_zinsen umbenannt werden.
Als ich meine Änderungen einchecken wollte, gab mir SVN immer wieder folgende Fehlermeldung zurück:
Commit Failed Directory trunk/clippings/devisenundzinsen is out of datesvn
Sicher haben die meisten SVN User haben diese Fehlermeldung bereits einmal zu Gesicht bekommen. Wie lässt sich das Problem nun aber lösen? Aus meiner Erfahrung geht es am einfachsten, wenn man das zu umbenennende Directory zuerst löscht, das löschen eincheckt, ein neues Directory erstellt und dieses wieder eincheckt.
Hier noch mal die Anleitung anhand des konkreten Beispiels:
- Rückgängig machen der lokalen Umbenennung (z.B. via SVN Revert), so dass wieder nur das Ausgangsdirectory vorhanden ist (devisenundzinsen)
- Backup der Sources, welche sich innerhalb des zu umbenennenden Directory (devisenundzinsen) befinden
- Löschen des zu umbenennenden Directory (devisenundzinsen)
- Einchecken des löschbefehls
- erstellen eines neuen Directory (devisen_zinsen)
- hinzufügen der sources aus dem Backup (punkt 1) in das Directories (devisen_zinsen)
- einchecken des neuen Directories (devisen_zinsen)
Wenn der Fehler nach wie vor auftaucht, kann es auch ein Problem in dem SVN-Client sein. In meinem Fall in IntelliJ (7.0.3). Oftmals lässt sich das Problem lösen, wenn man einen anderen SVN-Client verwendet. Z.B: smartSVN. Somit kann man in diesem separaten Tool die oben beschriebenen Änderungen vornehmen und anschliessend in der IDE (z.B. IntelliJ) wieder auschecken.
