Patches erstellen



Für die Erstellung von Patches wird immer mit einer Arbeitskopie "workingcopy/" des "trunk/" -Verzeichnisses gearbeitet.
<note tip>Diese Anleitung beschreibt das generelle Vorgehen, für spezielle Tools unter Windows siehe [[webedition:developer-information:patches-bugs-and-contributions:working-with-subversion:using-subversion-under-windows:tortoisesvn-creating-patches| TortoiseSVN:Erzeugung von Patchdateien]]</note>
Nachdem dort alle Änderungen erstellt wurden, wird mit Hilfe des Tools diff eine Patchdatei erzeugt:
<box 100% round blue><code>
diff -Naur trunk/ workingcopy/ > myPatchFile.patch
</code></box>
Die Optionen haben dabei folgende Bedeutung:
* N: gibt es eine Datei in nur einem der beiden Verzeichnisse, so wird es behandelt, als gäbe es diese Datei im anderen Verzeichnis als leere Datei.
* a: behandle alle Dateien als Text, auch wenn Sie keine Textdateien sind und Vergleiche Zeile für Zeile
* u: Nutze das sogenannte unified output Format, und zeige jeweils drei Zeilen vor und nach geänderten Zeilen
* r: arbeite Verzeichnisse rekursiv ab.

Die erstellte Patch-Datei enthält alle Änderungen von workingcopy in Bezug auf trunk, inklusive aller Dateien in Unterverzeichnissen.

Um den Patch zu testen, kopieren Sie das Originalverzeichnis in ein Verzeichnis test/:
<box 100% round blue><code>
cp -a trunk test
</code></box>
Dann kopieren Sie Ihre Patch-Datei in das Test-Verzeichnis:
<box 100% round blue><code>
cp myPatchFile.patch test
</code></box>
Wechseln Sie in das neue Verzeichnis:
<box 100% round blue><code>
cd test
</code></box>
Von dort aus rufen Sie einfach folgendes auf:
<box 100% round blue><code>
patch -pl < myPatchFile.patch
</code></box>
Wenn Fehler auftreten, sollten Sie Fehlermeldungen erhalten und eine ".rej"-Datei sollte in Ihrem neuen Verzeichnis erstellt werden.

Wenn alles funktioniert hat, bekommen Sie eine Erfolgsmeldung von patch. Kopieren Sie das gepatchte Verzeichnis an die entsprechende Stelle in webEdition (bzw. auf einen Test-Webspace) und prüfen Sie, ob Ihre Veränderungen immer noch funktionieren.
powered by webEdition CMS