In Doing the update dance: WordPress 2.0.3 und MySQL 5.0.21, und wie Subversion hilft habe ich beschrieben, wie man mit Hilfe eines VersionControlSystems relativ einfach eine Script-basierte Installation auf den neuesten Stand bringen kann. Als Beispiel habe ich das WordPress-Update von Version 2.0.2 auf Version 2.0.3 verwendet.
Den beschriebenen Vorgang kann man wie folgt zusammenfassen:
- Eigene Änderungen committen (auch, damit das Diffen funktioniert).
- Neue Version der Script-Sourcen einkopieren.
- Untersuchen der Änderungen in den Skripten. Das VCS sollte es relativ einfach machen, festzustellen, welche Dateien überhaupt geändert wurden. Dann muss noch herausgefunden werden:
- welche Differenzen stammen allein von der neu eingespielten Version.
- welche Differenzen beruhen auf eigenen Änderungen (hier ist ein Diffen und Mergen erforderlich).
- Änderungen durch die eingespielte Version können direkt committet werden. Sourcen mit gemergten eigenen Änderungen sollten separat comittet werden, dann kann man sie beim nächsten Update leichter finden.
Verbesserung
Die Unterscheidung zwischen Differenzen aufgrund von eigenen Änderungen und von Änderungen durch die neue Version ist schwierig, wenn man eigene Änderungen im Source nicht markiert und sich auch nicht an alle Änderungen (sicher) erinnert. Das Aufrufen der VCS-Logs für jede differierende Datei kostet Zeit.
Es gibt jedoch einen einfacheren Weg, eigene Änderungen an den Sourcen feststellen zu können: Bevor man die neue Version einkopiert kopiert man die ursprünglichen Dateien der Version ein, von der man kommt. Im verwendeten WordPress-Beispiel also die Sourcen der Version 2.0.2. So erhält man ganz einfach die eigenen Änderungen.
Jetzt genügt es, die geänderten Dateien anzuschauen und dort die jeweiligen Änderungen zu notieren (so, dass man sie dann beim eigentlichen Update (hier auf Version 2.0.3) schnell ausmachen kann).
Nachdem man eine Liste aller Änderungen erstellt hat, reverted man die Sourcen, so dass sie den Zustand vor dem Einkopieren der ursprünglichen Dateien der Version 2.0.2 wieder haben (also alle eigenen Änderungen enthalten). Der Schritt Untersuchen der Änderungen in den Skripten. aus obiger Liste wird dadurch wesentlich vereinfacht.






{ 2 } Trackbacks
[...] Ich experimentiere noch mit dem Vorgehen beim Updaten von WordPress, wenn einige Dateien lokal verändert wurden. Ein mögliches Vorgehen habe ich in Einfaches Updaten von Script-Systemen mit Versionskontrolle beschrieben. [...]
[...] Gestern bin ich auf 2.1.3 umgestiegen. Meine Änderungen am WordPress-Code – hauptsächlich am Admin-Interface – habe ich noch nicht nachgezogen. [...]
Post a Comment