Zum Inhalt springen

Extensions Update / Subversion

Erstellt am 7. April 2009 · 2 Antworten · letzte Antwort am 26. Januar 2011

Tags: Frage

savage ·

Hi!

Ich entwickle lokal mit Xampp unter Subversion. Ich bekomme bei div. Extensions und vor allem bei Extensionsupdates immer Fehlermeldungen, da PHP anscheinend durch die Verzeichnisse iteriert und auch die ".svn" Verzeichnisse mit behandelt.

Wie kann ich dieses Problem umgehen? Kann ich in Typo3 irgnedwo definieren das er ".svn" Verzeichnisse ignoriert?

danton ·

hi
das würde mich auch interessieren.
ich mache es momentan mit 2 verzeichnissen.
1 außerhalb vom webserver als arbeitskopie und 1 export im
serververzeichnis
gruß danton

gabrielschreiber ·

Ich hatte gerade das gleiche Problem und hab mir eine Lösung gebastelt:

Wird in Typo3 eine Extension geupdated, wird das gesamte Verzeichnis vom www-Benutzer gelöscht - also auch die .svn-Dateien. Dieses produziert Fehler der Form Server sent unexpected return value (405 Method Not Allowed) in response to MKCOL request for ... oder so was in der Art. Völlig ausgeschlossen, dass man es "subversion-style" (also nur die Änderungen) einchecken kann, auch wenn die Verzeichnisse und Dateien gleich oder ähnlich sind. Mittels ein paar Tricks kann man es jedoch dennoch bewerkstelligen, dass es funktioniert:

* Das Exteinsonverzeichnis (nennen wir es mal extensionverzeichnis) löschen mittels rm -r extensionverzeichnis
* Mittels des Backends die Extension installieren bzw. die gewünschte Version einspielen.
* Das Extension Verzeichnis umbenennen in z.B. extensionverzeichnis.tempFromRepository oder ähnlich
* Mit svn up extensionverzeichnis das "alte" Extensionverzeichnis wieder aus dem Repository laden.
* Mittels des Befehls find . \! \( -path *svn* \) -type f -exec rm {} \; alle Dateien in dem Extension Verzeichnis löschen, nicht jedoch die .svn-Dateien.
* Jetzt kommt der Trick: In das Verzeichnis extensionverzeichnis wechslen und mittels rsync-Befehl die neuen Dateien in dieses "geleerte" alte (unter Subversion verwaltete Verzeichnis) "reinsyncronisieren". Hier der Befehl dazu: rsync -av --stats ../extensionverzeichnis.tempFromRepository/* .
* Jetzt kann ganz normal mit den Befehlen svn add, svn commit, svn del und svn stat gearbeitet werden.